2016-08-22 20 views
0

私のアプリケーション内に建物/階/部屋の階層があります。 SQLCODE = -798、SQLSTATE = 428C9、SQLERRMC = FLOOR_ID、DRIVER = 3.68.61 FailedObject:SQLエラー注釈にもかかわらずOpenJPAが誤ったクエリを生成する

Caused by: <openjpa-2.2.3-SNAPSHOT-r422266:1715851 fatal general error> org.apache.openjpa.persistence.PersistenceException: DB2 SQL Error: SQLCODE=-798, SQLSTATE=428C9, SQLERRMC=FLOOR_ID, DRIVER=3.68.61 {prepstmnt 925512112 INSERT INTO ROOMALLOCATION.Floor (FLOOR_ID, FLOOR_NAME, FLOOR_CODE, SITE_ID) VALUES (?, ?, ?, ?)} [code=-798, state=428C9]SQLCA OUTPUT[Errp=SQLRI079, Errd=-2145779603, 0, 0, 0, -95, 0] 

DB2:私は(entiryManager.persist(floor)で)床を追加しようとしている時はいつでも私は、次の例外を取得します:フロアオブジェクト上[email protected]

、具体FLOOR_ID:データベース内

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
@Column(name = "FLOOR_ID") 
private int floorId; 

フィールドがIDENTITYいつものように生成されます。

建物と客室で同じ設定が有効ですが、同じコードを使用してオブジェクトを作成して保持します。私が知っている限り、openJPAはDEFAULTをクエリーに入れるはずですが、これはintのデフォルト値なので0にします。それを修正する方法はありますか?何かが足りない?

答えて

0

insertable = false, updatable = false@Columnという注釈を追加することで、この動作を停止することに成功しました。

関連する問題