hibernate + Oracle 执行save操作的时候没有sequence 不执行insert语句

Daniel_程序员 2017-09-19 12:48:20
entity如下,Id设置了sequence。

此表在数据库中有trigger(数据库不能改)


问题来了,每次执行save操作保存此表数据时,每次orderId会增加 2
在insert的时候会执行一次
select
queue_seq.nextval
from
dual

在trigger中又会执行一次
select
queue_seq.nextval
from
dual

从而导致每次orderId增加2
但是这条数据insert完之后的orderId,需要关联另外一张order_detail表,
比如在代码中执行save操作之后,orderId为:10,但是最后在数据库中却是11,从而两个表关联会失败!

但是,如果把entity中的sequence去掉,也就是把

这两行代码注释掉,当hibernate执行save操作时,不会发出insert语句,数据库也没有增加数据!

请问这个问题怎么解决呢!
...全文
238 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Daniel_程序员 2017-09-19
  • 打赏
  • 举报
回复
tirgger的图贴错了另外一张表的了。。。
Daniel_程序员 2017-09-19
  • 打赏
  • 举报
回复
继续顶
Daniel_程序员 2017-09-19
  • 打赏
  • 举报
回复
顶一下。。。放沉

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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