我正在尝试在Hibernate中为Oracle DB注释ID生成器, 到目前为止我试过这个:
a) @GeneratedValue(strategy=GenerationType.AUTO)
当我尝试持久化表
时,id不能为nullb) @GeneratedValue(strategy=GenerationType.SEQUENCE)
表示Oracle不支持序列(或类似的东西)
c) @GeneratedValue(strategy=GenerationType.IDENTITY)
当我尝试持久化表时,id不能为null。
如何在Hibernate中为Oracle DB注释ID生成器?
答案 0 :(得分:0)
您可以将生成策略添加为序列并将序列生成器添加到您的实体:
@SequenceGenerator(name = "GEN_TABLE_NAME", sequenceName = "SEQ_TABLE_NAME")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GEN_TABLE_NAME")
private Long id;
如果您没有使用hbm2dll.auto
设置,则需要在oracle数据库中创建序列,并将其名称指定为" sequenceName
"属性。