我正在尝试从数据库中获取数据并将其映射到不同的实体,但是我遇到了问题。
我的表格看起来像这样:
这是我拥有的堆栈跟踪:
java.lang.IllegalArgumentException: java.lang.ArrayIndexOutOfBoundsException: 0
我的表格看起来像这样:
@Entity
@Table(name = "Student")
@NamedNativeQueries({
@NamedNativeQuery(name = "findAll", query = "Select a.student_id as id, a.student_code as code from Student a")
})
public class Student {
@Id
private Long student_id;
private String student_code;
private String student_user_id;
private String student_first_name;
//Some other fields, getters and setters
}
我的BO长这样
@Entity
public class Generic{
@Id
private Long id;
private String code;
private String user_id;
//getters and setters
}
我的DAO调用类大致如下
Query query = entityManager.createNamedQuery("findAll", Generic.class);
query.getResultList();
我遇到了异常
entityManager.createNamedQuery("findAll", Generic.class);
这是我拥有的堆栈跟踪:
Caused by: java.lang.IllegalArgumentException: java.lang.ArrayIndexOutOfBoundsException: 0
at org.hibernate.internal.AbstractSharedSessionContract.buildQueryFromName(AbstractSharedSessionContract.java:774)
at org.hibernate.internal.AbstractSharedSessionContract.createNamedQuery(AbstractSharedSessionContract.java:869)
at org.hibernate.internal.AbstractSessionImpl.createNamedQuery(AbstractSessionImpl.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:301)
at com.sun.proxy.$Proxy157.createNamedQuery(Unknown Source)
hibernate-orm
? - Shafin Mahmud