Hibernate 插入对象到数据库的同时返回该对象在数据库中生成的ID(自增)怎么做?

数据库是SQLServer。假设有个POJO类AB,对应数据库中的表A_B,有个该POJO类的对象ab,表A_B中有个主键ID,自增,不用插。现在要把ab插入数据库,同时... 数据库是SQL Server 。假设有个POJO类AB,对应数据库中的表A_B,有个该POJO类的对象ab,表A_B中有个主键ID,自增,不用插。现在要把ab插入数据库,同时获取ab.id,怎么做?
我只知道插入是this.getHibernateTemplate().save(ab);
我知道可以分两步,先插入,后查询,但感觉这样效率低,有更好的办法吗?
展开
 我来答
书乐天0A2
2009-08-14 · TA获得超过722个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:248万
展开全部
this.getHibernateTemplate().save(ab); 插入后,直接ab.getId()就可以获得id值,hibernate会自动赋值回来.
macc81
2009-08-18
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
你可以参考以下这段代码:

//开户,传一个开户名,及基础金额给Account类,然后调用dao.insert(),最后返回
public long open(String name, double balance) {
Account acc=new Account(name,balance);
accountDao.insert(acc);
/*记入交易历史
History his=new History(new Date(),balance,0,
acc.getBalance(),"开户",acc);

acc.getHistorySet().add(his);

historyDao.insert(his);
*/
return acc.getId();
}

dao中的insert就是用的getHibernateTemplate().save()
希望对你有用!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式