2012-10-14 49 views
0

我開發了使用hsqldb和JPA/Hibernate的應用程序。根據客戶的請求,他們希望我們做一些基本的數據輸入(通過文件上傳),以便他們在開始申請時有數據到日期。我們也這樣做了。在休眠狀態下更改自動增量的值

現在的問題是,當我在客戶端安裝應用程序時,他們無法添加任何主數據(都不是事務數據)。我發現在添加數據休眠時給出了org.hibernate.exception.ConstraintViolationException,這是因爲它開始插入值1.

因此,我已將AutoValue字段設置爲Auto。 (@GeneratedValue(strategy = GenerationType.AUTO))。

如果您需要更多信息,請讓我知道。任何幫助將不勝感激。 (我已經使用Google搜索,但到目前爲止沒有找到任何具體的答案)

在此先感謝。

+0

您是否將數據庫引擎中的列標記爲自動增量? –

回答

0

最佳首選解決方案是在數據庫中定義sequence。在Hibernate映射中使用sequence generator。請勿手動填充Id屬性。讓hibernate照顧它。它永遠不會給你獨特的約束。

你也是我的嘗試,定義一個custom generator並寫小邏輯來獲得獨特的ID使用。