2013-02-22 118 views
2

我在WLS 10.3.5上运行EclipseLink。EclipseLink“SQL字符串不是查询”

我试图使用@NamedNativeQuery批注,但我尝试SQL导致“Internal Exception: java.sql.SQLException: SQL string is not Query”异常。

即使是一个简单SELECT * FROM TABLE导致该错误的位置表是含实体被映射到表中。

的注解是:

em.createNativeQuery(AnnouncementDeliveryLog.FIND_NORMALIZED_RECIPIENTS_FOR_ANNOUNCEMENT).getResultList(); 

我不能找到一个很好的方式来获得系统,使任何信息表示赞赏更多有用信息:

@NamedNativeQuery(name = AnnouncementDeliveryLog.FIND_NORMALIZED_RECIPIENTS_FOR_ANNOUNCEMENT, query = "SELECT * FROM ANNOUNCEMENT_DELIVERY_LOG", resultClass = AnnouncementDeliveryLog.class) 

查询正在与执行。

回答

2

错误的方法正在使用中。方法createNativeQuery将本机SQL字符串作为参数。在给定的代码参数似乎是本机查询的名称。应该使用方法createNamedQuery,它将本机查询的名称作为参数。

+0

就是这样!谢谢,我看不到那里的树木。 – retrodev 2013-02-22 19:54:40