我有两个实体,它们具有单向的关系
实体1
public class Jeans implements Serializable {
@Id
@GeneratedValue
private int id;
@OneToMany
private List<ColorAndPattern> colorAndPatterns;
}
实体2
public class ColorAndPattern implements Serializable {
@Id
@GeneratedValue
private int id;
private String description;
private String background;
private boolean enabled;
private int gender;
}
我正在使用hibernates默认映射,因此这将导致为onetomany映射生成一个名为“jeans colorandpattern”的单独表
商业方法
我正在使用hibernate的save方法来持久化实体
@Override
public int addJeans(Jeans jeans) {
sessionFactory.getCurrentSession().save(jeans);
return jeans.getId();
}
然而,当我尝试将相同的colorandPattern添加到不同的牛仔裤时,我正在进行调整
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:键'UK_la26iue5ciou6o4dy2gc23tlo'的重复条目'1'
我已经浏览了hibernates文档并发现在这种情况下hibernate为子实体添加了唯一约束但是我不想要如何覆盖这种行为或者是否有更好的方法