![](/img/trans.png)
[英]Repeated column in mapping for entity should be mapped with insert=“false” update=“false”
[英]Repeated column in mapping for entity: entity.LaAssociateGridEntity column: AssociateId (should be mapped with insert=“false” update=“false”)
我有兩個不同的 rest 端點將數據插入數據庫,其中:
我有三個表: Table1 , Table2 , Table3
我得到的解決方案是:(應該使用 insert="false" update="false" 進行映射)但這會阻止將這些列的數據插入和更新到數據庫中。
如何在我遇到問題的地方使用這些共享代碼塊片段。 如果您希望我分享整個代碼,請告訴我
@Data @EqualsAndHashCode(callSuper = true) @Entity @Table(name = "[dbo].[LAInstructions]")
public class LaInstructionsEntity extends AuditableFields<Long> {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "Id")
private Long id;
@JsonManagedReference
@**OneToMany**(mappedBy = "laInstructionsEntity", cascade = CascadeType.ALL)
private List<LaAssociateGridEntity> laAssociateGridEntities;
@Column(name = "Active")
private Boolean active;
}
表 2:
@Data
@EqualsAndHashCode(callSuper = true)
@Entity
@Table(name = "[dbo].[LALegalCreditCheck]")
public class LALegalCreditCheckEntity extends AuditableFields<Long> {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "Id")
private Long id;
@JsonManagedReference
@**OneToMany**(mappedBy = "laLegalCreditCheckEntity", cascade = CascadeType.ALL, targetEntity = LaAssociateGridEntity.class)
List<LaAssociateGridEntity> laAssociateGridEntities;
@Column(name = "Active")
Boolean active;
}
表3:
@Data @EqualsAndHashCode(callSuper = true) @Entity @Table(name = "[dbo].[LAAssociateGrid]")
public class LaAssociateGridEntity extends AuditableFields<Long> {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "Id")
private Long id;
@Column(name = "Active")
private Boolean active;
@JsonBackReference
@**ManyToOne**(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "AssociateId", referencedColumnName = "Id")
private LaInstructionsEntity laInstructionsEntity;
@**ManyToOne**(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "AssociateId", referencedColumnName = "Id")
private LALegalCreditCheckEntity laLegalCreditCheckEntity;
}
此錯誤表示在LaAssociateGridEntity
中, laInstructionsEntity
和laLegalCreditCheckEntity
字段也都映射到同一列(即AssociateId
),因此 Hibernate 不知道映射此列時應考慮哪些字段。
我相信其中一個有錯別字。 LaInstructionsEntity
和LALegalCreditCheckEntity
是不同的實體。 如果沒有另一個鑒別器列,您如何區分LaAssociateGridEntity
中的同一個AssociateId
,它的父級是LaInstructionsEntity
或LALegalCreditCheckEntity
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.