【发布时间】:2019-08-23 13:08:12
【问题描述】:
如果存在,我想更新行,否则插入它。 jooq中是否有类似hibernate的saveOrUpdate之类的便捷方法?
目前我正在检查数据库是否存在,然后运行更新查询,否则插入它。
【问题讨论】:
标签: hibernate spring-boot jooq
如果存在,我想更新行,否则插入它。 jooq中是否有类似hibernate的saveOrUpdate之类的便捷方法?
目前我正在检查数据库是否存在,然后运行更新查询,否则插入它。
【问题讨论】:
标签: hibernate spring-boot jooq
您可以使用 jOOQ 支持的不同 UPSERT 语句之一,具体取决于您的 RDBMS:
INSERT .. ON DUPLICATE KEY UPDATE MySQL 原生支持。可以使用以下两个选项来模拟它INSERT .. ON CONFLICT DO UPDATE 由 PostgreSQL 原生支持。可以使用以下选项进行模拟MERGE 被许多 RDBMS 和 SQL 标准原生支持【讨论】:
From this Stack Overflow answer here
如果您从数据库中读取 record 并调用 record.store(),您将 具有与休眠 saveOrUpdate 方法相同的行为,它的作品 完美!
但在大多数情况下,您不会从 数据库,您将收到来自控制器或视图的记录 例如,在这种情况下,方法 record.store() 不会更新
【讨论】: