【发布时间】:2013-06-12 08:27:54
【问题描述】:
在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'); 的查询吗?
【问题讨论】: