jpa - EclipseLink "SQL string is not Query"

标签 jpa eclipselink

我在 WLS 10.3.5 上运行 EclipseLink。

我正在尝试使用 @NamedNativeQuery 注释,但我尝试的所有 SQL 都会导致“内部异常:java.sql.SQLException:SQL 字符串不是查询”异常。

即使是一个简单的 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();

我找不到从系统获取更多有用信息的好方法,因此我们将不胜感激。

最佳答案

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

关于jpa - EclipseLink "SQL string is not Query",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15027975/

相关文章:

xpath - EclipseLink Moxy unmarshall 和 getValueByXPath 给出 null

java - 在 JPA 中处理 ID 表的最佳解决方案是什么?

java - 使用 JPA 计算延迟加载属性的最佳位置在哪里

java - 两个 EAR 文件,相同的 JPA entitymanager,相同的事务 => 相同的 session ?

gwt - WebLogic 上的 GWT/RequestFactory 的 ClassCastException

servlets - GAE + JPA :java. lang.NoClassDefFoundError:无法初始化类 EMF

java - EclipseLink 复合持久性单元类声明

java - JPQL 检查多对多关系

java - QueryDsl 避免多个 if block

java - 加入表后结果中的 EclipseLink Criteria API 计数