![](/img/trans.png)
[英]JOOQ code generator for H2 AUTO_INCREMENT PK with japAnnotations on
[英]hibernate id generator AUTO_INCREMENT at h2 and MySQL in a cluster
您應該只用@GeneratedValue注釋需要生成值的id屬性。 這將自動為您使用的數據庫選擇適當的生成策略。 有關更多詳細信息,請參見GenerationType.AUTO
。
您的媒體資源將如下所示:
@Id
@GeneratedValue
private long id;
例如,使用本地生成器
<id name="id" type="int">
<column name="id_column" />
<generator class="native" >
<param name="sequence">id_column_sequence</param>
</generator>
</id>
與類發電機native
使用數據庫的最佳生成策略。 在MySql的情況下,這是一個auto_increment,在Oracle的情況下,這是一個序列(對於H2,它也應該是一個序列,但我從未嘗試過,因為我不使用H2)。 僅在有用時才使用生成器參數sequence
,即對於MySql數據庫,將忽略該參數,對於Oracle,將使用該sequence
。
這樣,您可以對不同的數據庫類型使用相同的映射文件(至少只要表名和列名相同)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.