在hibernate中,当sequence
用作插入的生成策略时,它首先从序列中查询DB以获得下一个值,然后将其设置在实体中。之后,该实体将持久保存在 db 中。所以总结一下执行了两个查询。
流动:
- Hibernate 获取序列的下一个值
- Hibernate 将获取的值设置为您的实体的 ID
- Hibernate 持久化实体,它的 ID 在查询中设置
询问:
select
CUSTOM_SEQUENCE.nextval
from
dual
然后在插入语句中使用此值。
问题:
无论如何,我们可以像INSERT INTO foobar
(foo_id, foo)
VALUES (FOOBAR_SEQUENCE.nextval, 'bar');
在休眠中一样生成查询吗?