今天在做一个自己的小的项目时,遇到要取刚插入数据库时的主键值。
在项目中有订单表和订单详情表,他们的id是主外键的关系,订单详情表中要有订单表的id值,但是如何获取id值。项目中使用的是hibernate框架,使用的是hql语句。
获得刚插入订单表的id字段的值,
String hql = " select max(bor.o_id) from B_order bor order by bor.o_id desc ";
Query query = session.createQuery(hql);
int orderid = (Integer) query.uniqueResult();
说一下在这个过程中遇到的问题,如果hql语句中没有为实体类声明一个别名的话,这个结果是出不来的,本来想使用dual这个表,即select 序列的当前值 from dual ,但是结果出不来,所以要在后面慢慢学习。