これが私の豆です:
@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部分は考慮されません。