我一直在使用與JBoss 4.2.3休眠和一切工作,現在我遷移代碼到JBoss 7.1.1,突然我開始越來越:休眠拋出PK衝突錯誤
Caused by: org.hibernate.exception.ConstraintViolationException: ORA-00001: unique constraint (OBLICORE.PK_ACE_WORKERS_QUEUE_STATS_ID) violated
而且生成的ID是負面的。
失敗的定義是這樣的實體:
@Id
@SequenceGenerator(name = "SEQ_ACE_WORKERS_QUEUE_STATS_ID", sequenceName = "SEQ_ACE_WORKERS_QUEUE_STATS_ID", allocationSize = 500)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_ACE_WORKERS_QUEUE_STATS_ID")
@Column(name = "ID")
private long Id;
我在甲骨文檢查順序,似乎OK(就像我說的,它與JBoss 4.2前工作,因爲在DB端沒有什麼改變移民)。
我試着編寫Hibernate查詢日誌,但找不到該查詢,並且我還記錄了持續這個類的特定調用,並且看到它只調用一次。
非常感謝你,我長久以來一直對此感到震驚。 – Tomer 2012-03-27 14:04:47
allocationSize = 1對我來說不起作用,但是strategy =「sequence」就像一個魅力 – Hamedz 2016-11-10 20:28:48