码迷,mamicode.com
首页 > 其他好文 > 详细

hbm配置文件 generator节点各种解释

时间:2014-12-03 12:08:01      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   使用   sp   on   文件   

今天犯了个错误

  generator节点class属性有这么几个值(主键生成策略方案):

  assigned:由用户指定主键值

  sequence:由oracle序列生成

  increment:对类型为long,short,int的主键,以自增长的方式生成主键值,增量为1

  identity:在oracle中没用,因为他是支持标志列的数据库能够用的

  native: 由hibernate决策(大家自己测吧)

  当我们配置节点属性为assigned时,并且没有为主键赋值:

  bubuko.com,布布扣

  当节点属性为increment时我们运行:

  bubuko.com,布布扣    

  可以看到执行了查询语句,他在查询最大的gradeid,而我的表为空表,所以查不到任何值,并没有执行更新或者插入的操作

  transction错误可以忽略,这个错误是因为之前测试的时候没有begintransaction(),在save前面加上session.beginTransaction();就能解决

  解决方案:

  • 在执行save()操作前,给id赋值
  • 更改生成策略为sequence(前提有序列)
  • 在表不为空的前提下使用increment

hbm配置文件 generator节点各种解释

标签:style   blog   http   io   color   使用   sp   on   文件   

原文地址:http://www.cnblogs.com/gcs1995/p/4139422.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!