1


エンティティマネージャーを使用してクエリを実行しようとすると、すべての構成とマッピングの後に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]

4

2 に答える 2

2

同じ問題があり、エンティティにスキーマを追加して解決しました:

@Entity
@Table(name="MyTable", schema="MySchemaName")
public class MyClass implements Serializable {
...
}
于 2013-08-19T14:58:52.503 に答える
0

SQLSTATEメッセージ・ページから、最初のエラー(SQLCODE = -204、SQLSTATE = 42704)は「未定義のオブジェクトまたは制約名が検出されました」です。2番目のエラー(SQLCODE = -727、SQLSTATE = 56098)は、「暗黙の再バインド、再コンパイル、または再検証中にエラーが発生しました。」です。これは、おそらく。に起因し-204ます。

-204通常、テーブル名のスペルが間違っているか、何らかの理由でテーブルが見つからないことを意味します。そこで生成されたSQLのスキーマが表示されないSELECT t0.CODE_CAT, t0.LIBELLE_CAT FROM CATEGORIE t0ため()、おそらくそれを追加する必要があります。

于 2012-04-17T19:43:04.747 に答える