2017-02-12 37 views
4

Aftre將我的應用程序從hibernate 4遷移到hibernate 5.my序列不起作用,hibernate使用我們的默認序列而不是我的序列.my映射在hbm中的配置像這樣我的數據庫是oracle。爲什麼Hibernate 5序列生成器使用默認的hibernate.seq而不是我的序列?

<id name="id" column="Id" type="java.lang.Long"> 
    <generator class="sequence" > 
      <param name="sequence">SEQ_APP_Login_Log</param> 
    </generator> 
</id> 

谷歌後,有人說改變類org.hibernate.id.enhanced.SequenceStyleGenerator 但劑量不會再工作。

回答

5

很簡單。該sequence屬性已更改爲sequence_name

<id name="id" column="Id" type="java.lang.Long"> 
    <generator class="sequence" > 
      <param name="sequence_name">SEQ_APP_Login_Log</param> 
    </generator> 
</id> 
+0

我如何使用SEQUENCE_NAME兩個冬眠4和5,我有框架,在10多個企業應用程序中使用。我想遷移到冬眠5,並改變這個HBM,但我希望我的框架在這​​兩個版本中工作 –

+1

您可以創建一個自定義標識符生成器,​​如[本文](https://vladmihalcea.com/2016/06/13/如何對實施-A-定製基於字符串的序列標識符 - 發電機與 - 休眠/)。 –

相關問題