在postgres中,可以使用returning来检索计算值。我有一个生成的id字段和一个名为updated_at
的字段,每当行被修改时,该字段就会被触发器更新。我想实现这样的功能,但看起来不起作用。不确定这是否是批量插入的正确语法。
@Query(value = "INSERT INTO entities VALUES :values RETURNING *",nativeQuery = true)
List<Entity> insertAndReturn(@Param("values") List<Entity> entities);
错误为:
java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing
我也研究过jdbctemplate,但似乎我们正在失去实体Map的好处,我们需要编写自己的定制Map器。
1条答案
按热度按时间icnyk63a1#
这是行不通的。原生SQL不支持多值参数。您必须单独列出所有参数。您可以尝试以下操作