2 javaxiaojian javaxiaojian 于 2015.06.10 16:22 提问

hibernate 怎么配置oracle的id生成策略

之前使用hibernate连接mysql,后来需要转为oracle。
原来:
mysql的id设置为自增,
hibernate中对应的自增策略
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int userId;

现在:
oracle中的id使用序列加触发器实现了插入前自增
但是现在hibernate中应该怎么配置?

2个回答

buyinggaiba
buyinggaiba   2015.06.10 17:40
已采纳

@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="goods")
@SequenceGenerator(name="goods",sequenceName="seq_goods",allocationSize=1,initialValue=1)
private int userId;
其中generator起的名字和name的名字一致就可以了,例如我都命名为goods,sequenceName是起一个序列名,后面那两个一个是每次增一个,初始值是1

qq_24941261
qq_24941261   2015.06.19 13:33

@Id
@Column(name="UUID", length=32, nullable = false)
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
private String uuid;

Csdn user default icon
上传中...
上传图片
插入图片