hibernate获取sequence作为ID

duanlongk2 2012-07-17 05:24:06
hibernate中用sequence来作为一个表的主键,那么如果我要用sql原语插入数据库的时候,例如:
SQLQuery query = session.createSQLQuery("insert into tableA(id,..)values(...)
query.executeUpdate();
问题就来了:
那个id从何获取?如何从hibernate维护的这个sequence中获取到那个值呢?
...全文
397 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
haiercs 2012-07-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

这句应该在hibernate也是可以执行的 insert into tableA(id)values(序列名.nextVal)
[/Quote]
+1 sequence由数据库维护,不由hibernate维护,所以并不需要由hibernate去获得
zjhlsf 2012-07-18
  • 打赏
  • 举报
回复
在映射文件配置不就可以了.
凡人之玲珑 2012-07-18
  • 打赏
  • 举报
回复
我擦 看清楚 问题 是什么 在说,
我知道在映射文件配也可以 问题是 别人的问题是什么 看清楚先。。。
r40160944 2012-07-18
  • 打赏
  • 举报
回复
你既然用了hibernate,就应该写HQL,写HQL的时候空着bean的Id属性,就可以自动插入;有Id属性就是更新;
小小小小精灵 2012-07-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
这句应该在hibernate也是可以执行的 insert into tableA(id)values(序列名.nextVal)
[/Quote]
序列是自动增长的,插入的时候在hibernate的配置文件中配置就可以了
凡人之玲珑 2012-07-17
  • 打赏
  • 举报
回复
这句应该在hibernate也是可以执行的 insert into tableA(id)values(序列名.nextVal)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧