作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 MyEntity
类和 MyDBSequence
用于生成 ID。我用 MyJpaRepo 保存我的 MyEntity:
Long id = MyJpaRepo.save(new MyEntity());
Id 是根据 MyDBSequence
生成的。例如 id 的值为 100
。
但是在MyJpaRepo
保存了MyEntity
之后,数据库在MyEntity
表上执行了触发器。此触发器增加 id(不要问为什么。这是遗留代码)。现在在基础上它的值是 101
。但是我在 id
字段中有值 100
。
在触发执行后生成的 MyJpaRepo.save(new MyEntity)
之后,是否有任何方法可以获取事实 ID?
我现在无法编辑此触发器。这是目前需要支持的遗留代码。
最佳答案
假设您知道 id 恰好大了一个,您可以从 EntityManager
中逐出该实体,并使用增加 1 的 id 重新加载它。
关于java - 如何在 JPA 保存和执行数据库触发器后获取实际索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59113455/
我是一名优秀的程序员,十分优秀!