Reklamlar

HIBERNATE : Repeated column in mapping for entity: ... (should be mapped with insert=false update=

Etiketler: hibernate
HIBERNATE : Repeated column in mapping for entity: ... (should be mapped with insert=false update=
hibernate--repeated-column-in-mapping-for-entity--should-be-mapped-with-insertfalse-update

"Repeated column in mapping for entity: ... (should be mapped with insert="false" update="false")" hatasını aldığımız zaman yapacağımız ilk şey ilgili entity ve süper entity'de aynı JoinColumn üzerinden iki farklı mapping'in yapılıp yapılmadığını kontrol etmektir. Eğer iki mapping'in tanımlı olduğu property'lere atama yaparsak hibernate tek join column için hangi entity'nin id'sini kullanacağını bilemeyecektir. Çözüm ikinci bir join column oluşturmak olacaktır. Bu hataya neden olan tanımlamalar:

@Entity
public class Comment {

@ManyToOne
 @JoinColumn(name="ENTITY_ID", referencedColumnName="ID")
private Comment parentComment;

@ManyToOne
 @JoinColumn(name="ENTITY_ID", referencedColumnName="ID")
private Article article;
}

Comment tablosuna PARENT_ID sutunu ekleyelim ve yeni kodumuz:

@Entity
public class Comment {

@ManyToOne
 @JoinColumn(name="PARENT_ID", referencedColumnName="ID")
private Comment parentComment;

@ManyToOne
 @JoinColumn(name="ENTITY_ID", referencedColumnName="ID")
private Article article;
}

Tartışma




ya da
CAPTCHA Images