0
我的應用程序中有一個建築物/樓層/房間的層次結構。每當我試圖添加的地板(含entiryManager.persist(floor)
)我得到以下異常:儘管有註釋,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 SQL錯誤:SQLCODE = -798,SQLSTATE = 428C9,則sqlerrmc = FLOOR_ID,DRIVER = 3.68.61 FailedObject :[email protected]
在地板對象,具體FLOOR_ID:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "FLOOR_ID")
private int floorId;
該字段在數據庫AS IDENTITY始終會生成。
同樣的設置適用於建築物和房間,我使用相同的代碼來創建和保留對象。據我瞭解openJPA應該把DEFAULT
放在查詢中,而不是這個放0,因爲它是int默認值。有沒有辦法解決它?我失蹤的東西?