【问题标题】:jpa can't execute a simple queryjpa 无法执行简单的查询
【发布时间】:2012-04-17 18:21:13
【问题描述】:

我必须使用 jpa 从 db2 中的表中检索数据
毕竟配置和映射
当我尝试使用实体管理器执行查询时,我收到错误,不知道问题到底出在哪里。 消息错误:Error 500: <openjpa-2.1.1-SNAPSHOT-r422266:1141200 fatal general error> org.apache.openjpa.persistence.PersistenceException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2ADMIN.CATEGORIE, DRIVER=4.8.86 {prepstmnt 85179437 SELECT t0.CODE_CAT, t0.LIBELLE_CAT FROM CATEGORIE t0 } [code=-204, state=42704]SQLCA OUTPUT[Errp=SQLNQ1FC, Errd=-2145779603, 0, 0, 0, -10, 0] DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2ADMIN.CATEGORIE, DRIVER=4.8.86 DB2 SQL Error: SQLCODE=-727, SQLSTATE=56098, SQLERRMC=2;-204;42704;DB2ADMIN.CATEGORIE, DRIVER=4.8.86 DB2 SQL Error: SQLCODE=-727, SQLSTATE=56098, SQLERRMC=2;-204;42704;DB2ADMIN.CATEGORIE, DRIVER=4.8.86 FailedObject: select c from Categorie c [java.lang.String]

【问题讨论】:

  • 检查您提出的问题并使用投票按钮下的复选标记接受答案。

标签: java jpa db2 openjpa


【解决方案1】:

我遇到了同样的问题,我通过在我的实体中添加 Schema 解决了它:

@Entity
@Table(name="MyTable", schema="MySchemaName")
public class MyClass implements Serializable {
...
}

【讨论】:

    【解决方案2】:

    SQLSTATE messages page 开始,第一个错误(SQLCODE=-204,SQLSTATE=42704)是“检测到未定义的对象或约束名称”。第二个错误(SQLCODE=-727, SQLSTATE=56098)是“在隐式重新绑定、重新编译或重新验证期间发生错误。”,这可能源于-204

    -204 通常表示要么表名拼写错误,要么由于某种原因找不到表。我没有看到那里生成的 SQL 架构 (SELECT t0.CODE_CAT, t0.LIBELLE_CAT FROM CATEGORIE t0),所以也许你需要添加它。

    【讨论】:

    • 感谢您的回复我在模式名称为“AYMEN”的类上添加了模式注释错误已更改:DB2 SQL 错误:SQLCODE=-727,SQLSTATE=56098,SQLERRMC=2;- 551;42501;DB2ADMIN|SELECT|AYMEN.CATEGORIE, DRIVER=4.8.86 我认为这是权限问题
    • 能否请您发布完整的堆栈跟踪。
    猜你喜欢
    • 2016-08-03
    • 2013-03-14
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 2014-05-25
    • 2022-01-19
    • 2020-05-23
    • 1970-01-01
    相关资源
    最近更新 更多