hibernate 自定义主键

本文介绍了一个使用Hibernate框架的Java应用中自定义ID生成策略的方法。通过覆盖默认的ID生成方式,为实体类的ID字段赋予特定的值。文中提供了一个具体的实现案例,包括配置文件设置及测试代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

直接给代码吧

 

  

Configuration config=null;
SessionFactory sf=null;
Session session=null;
Transaction transaction=null;

@Before
public void before() {
	config=new Configuration();
	sf=config.buildSessionFactory();
	session=sf.openSession();
	transaction=session.beginTransaction();
}
@After
public void after() {
	transaction.commit();
	session.close();
	sf.close();
}
@Test
public void assignedTest() {
	T_User u=new T_User();
	u.setUser_id("33");
	u.setUser_name("zs");
	u.setUser_pwd("zs");
	session.save(u);
}
@Override
	public Serializable generate(SharedSessionContractImplementor arg0, Object arg1) throws HibernateException {
		 String str="w_"+new Date().getHours();//给id一个随机值
 	return str;
}

实体类里的  .hbm.xml里面的id属性的<generator>里面class要改成 上面这个随机数的全限定名 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值