unique约束

2jcobegt  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(313)

我有两张table。如下所示。人有 OneToMany 与电话的关系。

create table Person(
  id varchar,
  name varchar
);

create table Phone(
  id varchar,
  name varchar,
  person_id varchar,
  UNIQUE KEY `unq` (`name`)
  FOREIGN KEY (person_id) REFERENCES Person(id)
);

现在java代码如下所示。

Person person = new Person();
Phone phone = new Phone();
phone.setPerson(person);
phoneRepository.save(phone);

查询在插入时忽略子表上的唯一约束。它正在保存多个重复条目
是什么引起了这个问题?是预期行为吗?

ar7v8xwq

ar7v8xwq1#

必须存储现有的个人实体
而是示例化一个新实体

Person person = new Person();

尝试读取现有实体

Person existingPerson = personRepository.findOneByName(name);

并将现有实体设置为您的手机

phoneRepository.save(existingPerson)

相关问题