Hibernate在oracle上主键生成策略连锁配置问题(基于注解)
之前在做oracle的主键策略上使用了increment,就是把主键的计数交给了Hibernate,此时就发生了一个问题,如果两个Jvm进程同时开启并加入数据,那么就会出问题,很明显ID重复了!
????? 有朋友建议我用UUID,其实我不太喜欢UUID,看到那么一长串的字符还真让人头痛呢!而且还有个小坏习惯就是排序的时候不用时间用ID来的!
?????
????? 后来研究了一下开始使用oracle的Sequence:
????? 1、先在oracle上写一个Sequence:
?????
????? 2、pojo上的批注
???
@Entity @Table(name="COMMEND") public class Commend { @Id @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="sq_commend") @SequenceGenerator(name="sq_commend", allocationSize = 1, initialValue = 1,sequenceName="SQ_COMMEND") @Column(name="ID") private int id; @Column(name="CONTENT") private String content; get,set略…… }???? 就没问题了!估计allocationSize就是设置拿取范围的地方!(讲的比较浅还是希望大家拍装一下!)