【问题标题】:EclipseLink "SQL string is not Query"EclipseLink“SQL 字符串不是查询”
【发布时间】:2013-02-22 15:50:00
【问题描述】:

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

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

【问题讨论】:

    标签: jpa eclipselink


    【解决方案1】:

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

    【讨论】:

    • 就是这样!谢谢,我看不到那里的树木!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多