Are type-safe native named queries supported in Hibernate version 4.2.3.Final? I get this exception with one:
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)
When I perform this query with a Query class all is fine. TypedQuery seems to be the issue here and the exception is not very helpful. I've tried this with simple queries to very complex queries and they all seem to fail unless I used Query for the named native query.
You could specify a SqlResultSetMapping to get rid of this error. For example:
@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 {
[...]
}
This way Hibernate knows how to deal with the values that the native query returns.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With