【发布时间】:2020-12-25 14:52:48
【问题描述】:
我有一个主键列从 oracle 序列中获取值的表。如果我在表中插入一条记录,最好的方法是 -
INSERT INTO TABLE VALUES(SCHEMA.SEQUENCE.NEXTVAL, value1, value2, value3)
但是,当我使用 JPARepository 中的保存方法时,在创建对象时运行一个仅获取 SCHEMA.SEQUENCE.NEXTVAL 的选择查询,然后在事务结束时运行一个额外的 INSERT 查询。
SELECT SCHEMA.SEQUENCE.NEXTVAL FROM DUAL
INSERT INTO TABLE VALUES(val_from_select_query, value1, value2, value3)
这导致几乎双倍的时间。有没有办法配置我的实体,使其在插入查询中获取序列值,从而导致总体上只有 1 次往返数据库?
【问题讨论】:
标签: spring-data-jpa