首页 > 代码库 > JPA 使用报Named query not found错误

JPA 使用报Named query not found错误



具体错误如下:
Caused by: java.lang.IllegalArgumentException: Named query not found: select emp from TBicEmpCombo emp where emp.CBisCde = ?1
      at org.hibernate.ejb.AbstractEntityManagerImpl.createNamedQuery(AbstractEntityManagerImpl.java:451)
 
 
记录一下问题的解决思路,避免下次花费过多的时间解决这一问题
 
好了,这个错误是很简单的,出现这种错误无外乎就两种情况
1.非常简单,出现这种错误一般都是在用注解@NameQuery的情况下,因为除了这种方式,就是使用时才写sql语句了,那个时候你不会忘记没有写query吧!注解@NameQuery在服务器启动时候是否被JPA管理初始化并将初始化信息打印到控制台上的。所以,没有在控制台上看到你的query信息,一定是配置没有配好,赶快去检查下吧。配置两个重点:1.是否在类上加上了注解,2.是否在persistence.xml文件中加入了实体类配置。
2.如果你此次用的sql语句是用注解@NameQuery的话,去检查下是否在相应的实体类中有定义

JPA 使用报Named query not found错误