hibernate 使用原生sql执行 insert 插入数据时,怎么才能得到自动增长主键的id?
6个回答
展开全部
如果插入数据的用户是唯一标识的话,可以在插入完成之后,去检索该用户插入的数据,比较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配置是自动增长的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询