在JPA调用数据库视图Menu,使用myeclipse的jpa reverse后,会生成两个类Menu和MenuId
进行查询时,始终报错
代码如下:
[code="java"]
String jpql = "SELECT u FROM Menu u WHERE u.id.userid = ?1";
Query query = getEntityManager().createQuery(jpql);
query.setParameter(1, users);
List
for (Menu c : queryList) {
System.out.println(c.getId()); //始终报错
}
[/code]
严重: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
错误行指向System语句行
哥们用这个 createNativeQuery接受一个sql 语句。。只要这个sql语句能在数据库分析器中执行就可以了。
String sql = "SELECT * FROM t_Menu";//其中
//创建原生SQL查询QUERY实例
Query query = em.createNativeQuery(sql);
//执行查询,返回的是对象数组(Object[])列表,
//每一个对象数组存的是相应的实体属性
List objecArraytList = query.getResultList();
是不是主键映射有问题? 贴一下映射
String jpql = "SELECT u FROM Menu u WHERE u.id.userid = ?1";
query.setParameter(1, users); //此处users是什么对象? 是不是应该把ql改成u.id=?1
看看生成的sql对吗