当我尝试使用实体管理器执行查询时,我必须在所有配置和映射之后使用 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]
问问题
6356 次
2 回答
2
我遇到了同样的问题,我通过在我的实体中添加 Schema 来解决它:
@Entity
@Table(name="MyTable", schema="MySchemaName")
public class MyClass implements Serializable {
...
}
于 2013-08-19T14:58:52.503 回答
0
在SQLSTATE 消息页面中,第一个错误(SQLCODE= -204
、SQLSTATE= 42704
)是“检测到未定义的对象或约束名称”。第二个错误(SQLCODE= -727
、SQLSTATE= 56098
)是“在隐式重新绑定、重新编译或重新验证期间发生错误。”,这可能源于-204
.
-204
通常意味着要么表名拼写错误,要么由于某种原因找不到表。我没有看到那里生成的 SQL 架构 ( SELECT t0.CODE_CAT, t0.LIBELLE_CAT FROM CATEGORIE t0
),所以也许您需要添加它。
于 2012-04-17T19:43:04.747 回答