博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate+oracle返回的ID和数据库的ID不一致
阅读量:6912 次
发布时间:2019-06-27

本文共 327 字,大约阅读时间需要 1 分钟。

最近在项目中遇到一个问题,因为用的是ORACLE数据库,所以有一些表是建立了序列和触发器来使添加进去的数据ID自动增加1.因为有一个操作是同时保存几个表的数据,所以就要用到先插入数据的id存到另一个表中。

奇怪的现象发生了:回的ID,和数据库中的ID不对应,都是相差1.例如hibernate返回的是259,数据库中就是260.经过排查发现是trigger触发器的问题,因为hibernate中的model层ID映射的是序列名称,所以保存的时候hibernate先自增了一,然后到数据库中,又调用trigger,所以数据库中ID自增就为2了,自增了两次。

当然还有一些疑问,不过现在的解决方案是把数据库中的trigger删除掉了就解决了。ID就会对应了

转载地址:http://mvycl.baihongyu.com/

你可能感兴趣的文章
python的“=”与C++的区别
查看>>
快速排序就这么简单
查看>>
腾讯公司副总裁曾宇:技术必须产生价值,开源需要携手发展
查看>>
jsonp 解决跨域问题
查看>>
微信协程库libco研究(三):协程的事件管理
查看>>
用nginx搭建简单的文件下载服务器
查看>>
Js/Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法
查看>>
web开发中的计算机网络知识——网络层
查看>>
Java | Spring Boot Swagger2 集成REST ful API 生成接口文档
查看>>
白话RabbitMQ(四): 建立路由
查看>>
由浅入深laravel教程第3课:玩转数据迁移migration(超详细版)
查看>>
离线升级 Laravel Homestead 4.0.0
查看>>
vue路由学习
查看>>
PHPRAP v1.0.6 发布,修复因php7.1版本遗弃mcrypt扩展造成安装失败的BUG
查看>>
HttpClient出现TCP连接异常关闭发送RST包
查看>>
一步一步搭建react应用-部署
查看>>
Springboot 数据访问之JPA深入
查看>>
webpack: 服务和热更新
查看>>
选择集覆写
查看>>
flex-grow 与 flex-shrink
查看>>