2

我在 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();

我找不到从系统中获取更多有用信息的好方法,因此感谢您提供任何信息。

4

1 回答 1

2

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

于 2013-02-22T19:34:48.363 回答