复合主键的Spring HIbernate更新部分,也是唯一键的一部分

时间:2019-12-06 09:56:09

标签: mysql spring hibernate

我有一个如下所示的数据库架构

CREATE TABLE IF NOT EXISTS `displayids_pivot` (
  `col_a` bigint(20) NOT NULL,
  `col_b` bigint(20) NOT NULL,
  `col_c` binary(16) NOT NULL DEFAULT '',
  `created_at` bigint(20) NOT NULL,
  `updated_at` bigint(20) NOT NULL,
  PRIMARY KEY `entity_record_unique_index` (`col_a`, `col_b`),
  UNIQUE KEY `entity_display_id_unique_index` (`col_a`, `col_c`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

我想更新记录中的col_b。当我尝试更新它时,由于它是主键的一部分,因此出现错误。 我还尝试了删除和创建记录,但是由于休眠模式会在删除之前进行插入,因此会导致唯一字段冲突。 我应该怎么做?

我正在使用@Transactional批注,而不是直接使用entityManager。

0 个答案:

没有答案
相关问题