我有两个具有单向关系的实体,这些是
实体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默认映射,因此这将导致生成一个名为&#34; jeans + colorandpattern&#34;的单独表格。用于onetomany映射
业务方法
我正在使用hibernate的保存方法来持久化实体
@Override
public int addJeans(Jeans jeans) {
sessionFactory.getCurrentSession().save(jeans);
return jeans.getId();
}
然而,当我尝试将相同的colorandPattern添加到不同的牛仔裤时,我正在进行调整
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:重复条目&#39; 1&#39;关键&#39; UK_la26iue5ciou6o4dy2gc23tlo&#39;
我已经浏览了hibernates文档并发现在这种情况下hibernate为子实体添加了唯一约束但是我不想要如何覆盖此行为或者是否有更好的方法