如何避免数据库中的重复。'1', 'Male''2', 'Male''3', 'Female'只保存'1', 'Male''2', 'Female'或者:只保存国家 '1', 'UK' '2', 'Brazil' '3', 'China'我的数据库架构:CREATE TABLE IF NOT EXISTS `bi_person` ( `id_person` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(50) NOT NULL, `last_name` VARCHAR(100) NOT NULL, `additional_info` VARCHAR(50) NOT NULL, `gender_id` VARCHAR (50) UNIQUE REFERENCES bi_gender ) COLLATE='utf8_bin';-- 表 'bi.gender`CREATE TABLE IF NOT EXISTS `bi_gender` ( `id_gender` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(10) NOT NULL ) COLLATE='utf8_bin';-- 表'bi.country`CREATE TABLE IF NOT EXISTS `bi_country` ( `id_country` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(10) NOT NULL ) COLLATE='utf8_bin'; 我有与多对多关系的模型 - 国家和一对多的人 - >性别
3 回答

ABOUTYOU
TA贡献1812条经验 获得超5个赞
如果我理解正确的话,国家和性别表是主数据,分别包含独特的国家和性别。
在这种情况下,您不需要级联,在应用程序中获取所需的性别,将其设置在人员上并坚持人员。去除那个cascade = CascadeType.ALL
更新
Gender male = genderRepository.findByName("Male");
person.setGender(male);
...
personRepository.save(person)
添加回答
举报
0/150
提交
取消