我在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();
我无法找到从系统获取更多有用信息的好方法,因此任何信息都会受到赞赏。
答案 0 :(得分:2)
使用了错误的方法。方法createNativeQuery将本机SQL字符串作为参数。在给定的代码中,参数似乎是本机查询的 name 。应该使用方法createNamedQuery,它将本机查询的名称作为参数。