oracle的SequenceGenerator产生的序列号不是按顺序生成的解决办法

本文介绍了在Hibernate框架中如何实现Oracle数据库序列自增功能,通过配置SequenceGenerator注解实现自增,并解决非连续递增的问题。提供了两种实现方式:使用@SequenceGenerator和@GenericGenerator。

hibernate下oracle的序列 号自动生成办法

 

@Entity
@javax.persistence.SequenceGenerator(
    name="SEQ_STORE",
    sequenceName="my_sequence"
)
public class Store implements Serializable {
    private Long id;

    @Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_STORE")
    public Long getId() { return id; }
}
         

这里有人提出生成的序列 号不是按1递增的,其实只要在

@javax.persistence.SequenceGenerator(name="SEQ_STORE", sequenceName="my_sequence",allocationSize=1)就可以了

或者

@org.hibernate.annotations.GenericGenerator(name="Question_id_sequence", strategy = "sequence",parameters = { @Parameter(name="sequence", value="S_QUESTION") } )

也可以

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值