java sequence 生成器_java – Hibernate:手动调用SequenceGenerator?

在Java中,可以通过实现IdentifierGenerator接口的自定义生成器类来手动调用SequenceGenerator。示例代码展示如何配置和使用SequenceGenerator,创建名为Stud_NoSequence的序列,并在实体类Student中应用该生成器来生成唯一ID。
摘要由CSDN通过智能技术生成

您可以通过Generator类调用SequenceGenerator.通过编写此代码.

自定义生成器类应该是

public class StudentNoGenerator implements IdentifierGenerator {

public Serializable generate(SessionImplementor session, Object object)throws HibernateException {

SequenceGenerator generator=new SequenceGenerator();

Properties properties=new Properties();

properties.put("sequence","Stud_NoSequence");

generator.configure(Hibernate.STRING, properties, session.getFactory().getDialect());

return generator.generate(session, session);

}

}

在上面的代码中,Stud_NoSequence是可以创建的序列名称.在数据库中通过wring创建序列Stud_NoSequence;

Hibernate.String是SequenceGenerator类将返回的类型.

而域类将是

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

@Entity

@org.hibernate.annotations.GenericGenerator(

name = "Custom-generator",

strategy = "com.ssis.id.StudentNoGenerator"

)

public class Student {

@Id @GeneratedValue(generator = "Custom-generator")

String rno;

@Column

String name;

public String getRno() {

return rno;

}

public void setRno(String rno) {

this.rno = rno;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值