EclipseLink“SQL字符串不是查询”

时间:2013-02-22 15:50:01

标签: jpa eclipselink

我在WLS 10.3.5上运行EclipseLink。

我正在尝试使用@NamedNativeQuery注释,但我尝试的所有SQL都会导致“Internal Exception: java.sql.SQLException: SQL string is not Query”异常。

即使是简单的SELECT * FROM TABLE也会导致该错误,其中TABLE是包含实体映射到的表。

注释是:

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

正在执行查询:

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

我无法找到从系统获取更多有用信息的好方法,因此任何信息都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

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