2015-09-14 48 views
0

我試圖註釋在休眠ID發電機的Oracle數據庫, 我到目前爲止已經試過這樣:ID生成對Hibernate與Oracle(Spring MVC的)

a) @GeneratedValue(strategy=GenerationType.AUTO) 

說ID不能爲空當我試着堅持表

b) @GeneratedValue(strategy=GenerationType.SEQUENCE) 

說,Oracle不支持序列(或類似的東西)

c) @GeneratedValue(strategy=GenerationType.IDENTITY) 

表示當我嘗試堅持表時,id不能爲空。

我應該如何在Hibernate中爲Oracle數據庫註釋ID生成器?

+0

嗨,歡迎來到StackOverflow!有多種方式來設置你的問題的格式,使它們更具可讀性,並且可讀的問題通常會得到更多的關注和更多的答案。我已經完成並編輯了您的文章,使其更具可讀性,一旦通過審覈流程完成。 – Catch44

回答

0

您可以添加生成策略的順序,並添加序列發生器到你的實體:如果你不使用hbm2dll.auto設置

@SequenceGenerator(name = "GEN_TABLE_NAME", sequenceName = "SEQ_TABLE_NAME") 
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GEN_TABLE_NAME") 
private Long id; 

,你需要在Oracle數據庫中創建序列,並指定它的名字爲「sequenceName 「財產。