hibernate 实体注解在主键生成策略方面遇到的问题
来源:互联网 发布:大数据调研报告 编辑:程序博客网 时间:2024/06/05 03:02
问题描述:
在做单向一对多映射学习练习的时候遇到一个问题: Person和Address是单向一对多关系(Person中有一个Set的Address集合),在事物提交前,先对Address和Person对象进行了持久化,然后修改Person中的Set<Address>的值(添加一个Address对象),最后提交事物,Address的主键生成策略为自增,但是出现address数据库表中主键值不连续情况(在Person对象持久化前持久化的Address对象和之后持久化的对象主键值相差二),如图从2调到了4,搞不清楚为什么。
产生原因:
原来用的是 @GeneratedValue(strategy = GenerationType.AUTO), 数据库里面会自动建立一张表 ,网上说用AUTO的话主键由程序指定,我没有给记录指定主键值,由hibernate自动给指定的,出了主键不连续问题。改成@GeneratedValue(strategy = GenerationType.IDENTITY)后,数据库里面也没有再自动建立一张表了,主键值变得连续,回复正常。
剖析:
主键不连续还有可能是由于在记录插入的过程中,先插入然后删除记录,最后再插入记录的情况,在这种情况下,主键值不会随着记录的删除而自动收缩,在下一次插入记录的时候任然以删除记录(最大值)的主键值为准自增
部门经理资料:http://www.educity.cn/wenda/404038.html
0 0
- hibernate 实体注解在主键生成策略方面遇到的问题
- 关于hibernate对实体类主键生成策略的注解
- JPA实体注解与hibernate主键生成策略
- JPA实体注解与hibernate主键生成策略
- JPA实体注解与hibernate主键生成策略
- Hibernate注解,生成主键策略
- Hibernate 注解 主键生成策略
- hibernate注解主键生成策略
- hibernate注解主键生成策略
- hibernate注解主键生成策略
- Hibernate注解---主键生成策略
- hibernate的实体类编写规则与主键生成策略
- Hibernate保存记录时遇到的一个问题----evitic,not-null配置及主键生成策略
- hibernate操作数据库遇到问题的时候检查主键生成策略
- hibernate注解UUID主键生成策略
- hibernate中uuid主键注解生成策略
- hibernate注解UUID主键生成策略
- hibernate JPA注解主键生成策略
- Java基本类型变量和包装类之间转换
- 签名与认证
- android studio创建代码库分上传到jcenter,使大家一行代码引用
- Java 开发工具类Pager
- PAT 1003. 我要通过!(20) java实现
- hibernate 实体注解在主键生成策略方面遇到的问题
- 如何向编辑控件中添加文本
- 元宵节作业
- GPIO及中断API函数
- android 5.0 NFC支持
- java相对于c和c++在内存管理上怎样提高了开发效率
- HDU4506之快速幂取模理解
- MFC CStatic控件插入背景图片
- 组成数据分析师完整知识结构的七大板块