
hibernate 使用原生sql执行 insert 插入数据时,怎么才能得到自动增长主键的id?
展开全部
在你调用 save方法后,你的对象的 自增列id会自动被 赋值
本来新加的id在 save之前是0,save之后,xxx .id你自动被修改成数据库中生生成的id
本来新加的id在 save之前是0,save之后,xxx .id你自动被修改成数据库中生生成的id

2022-08-05 广告
苏州蓝晓生物科技有限公司。标准化核心产品:公司拥有完整的琼脂糖介质、葡聚糖介质、聚甲基丙烯酸酯介质生产线,年产分离介质50000L,产品质量稳定并达到国际领先水平。核心优势:公司核心技术人员拥有近二十年不同基质的基球开发和官能化的丰富技术经...
点击进入详情页
本回答由苏州蓝晓生物科技有限公司_提供
展开全部
如果插入数据的用户是唯一标识的话,可以在插入完成之后,去检索该用户插入的数据,比较id,那个最大的id即刚才插入数据的id。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A a=new A();要是用save(a)的方法,save后,便可以通过 a.getId() 就可以找到了。
就像楼上说的,你要是用原生的方法insert的话,id应该是你自己赋的值的啊。
就像楼上说的,你要是用原生的方法insert的话,id应该是你自己赋的值的啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字段名 int identity(1,1) primary key identity(1,1)中第一个1表示自动增长从1开始,第二个1表示每次增长多少。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我很奇怪啊,你都说是原生sql了,就是说你自己手写的sql。这样的话,你的主键应该是用的自己生成的值把,这你还拿不到?
比如你先用sequence生成个主键,然后把值拼到你的sql中,然后执行。没问题啊。。。
比如你先用sequence生成个主键,然后把值拼到你的sql中,然后执行。没问题啊。。。
追问
@Override
public boolean insertSQLQuery(String sql, Object... params)
throws JDBCException {
Query query = getSession().createSQLQuery(sql);
for (int i = 0; params != null && i 0 ? true : false;
}
这样能取道?我数据库id配置是自动增长的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询