这是我的豆子:
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "cl_id")
private Long clId;
@JoinColumn(name = "zip_id", referencedColumnName = "zip_id")
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
private Zip zipId;
@JoinColumn(name = "city_id", referencedColumnName = "city_id")
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
private City cityId;
@JoinColumn(name = "street_id", referencedColumnName = "street_id")
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
private Street streetId;
我的问题是,每当我尝试插入一个使用已经存在的邮编、城市或街道的新客户端时,我都会收到此错误:
Exception in thread "AWT-EventQueue-0" javax.persistence.EntityExistsException:
Exception Description: Cannot persist detached object [bean.Zip[zipId=17]].
Class> com.jresto.common.bean.Zip Primary Key> [17]
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.persist(EntityManagerImpl.java:208)
它不考虑CascadeType.MERGE部分。