Hibernate版本4.2.3.Final是否支持类型安全的本机命名查询?我得到一个例外:
java.lang.ArrayIndexOutOfBoundsException: 0
at org.hibernate.ejb.AbstractEntityManagerImpl.createNamedQuery(AbstractEntityManagerImpl.java:637)
at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:241)
at $Proxy78.createNamedQuery(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
当我使用Query类执行此查询时,一切都很好.TypedQuery似乎是这里的问题,异常不是很有帮助.我已经尝试过对非常复杂的查询进行简单查询,除非我使用Query查询命名的本机查询,否则它们似乎都会失败.
Jos*_*ero 10
您可以指定SqlResultSetMapping来摆脱此错误.例如:
@javax.persistence.Entity
@javax.persistence.SqlResultSetMapping(
name = "implicit", entities =
@javax.persistence.EntityResult(entityClass = Account.class)
)
@javax.persistence.NamedNativeQuery(
name = "findAccount",
query = "SELECT a.* FROM account a WHERE a.account_id=?1",
resultSetMapping = "implicit")
public class Account implements java.io.Serializable {
[...]
}
Run Code Online (Sandbox Code Playgroud)
这样Hibernate知道如何处理本机查询返回的值.
| 归档时间: |
|
| 查看次数: |
3494 次 |
| 最近记录: |