0
私はクラスCのコレクションにクラスC とクラスBのコレクションでクラスAをマッピングするためのマッピングで繰り返し列をここで地図hibernate.MappingExceptionを与える:エンティティ
は私のエンティティであります:
@Entity
@Table(name = "a")
Class A:
...
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "objectid" , nullable = false, updatable = false)
@Where(clause = "field= 'x'")
private Set<C> cSet = new HashSet<>();
@Entity
@Table(name = "b")
Class B:
...
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "objectid" , nullable = false, updatable = false)
@Where(clause = "field= 'x'")
private Set<C> cSet = new HashSet<>();
@Entity
@Table(name = "c")
Class C:
...
@Column(name = "objectid")
private String objectid;
私は、例外が発生しました:
hibernate.MappingException: Repeated column in mapping for entity: C column: objectid (should be mapped with insert="false" update="false")
私はreferencedColumnNameとEXを使用してみました:
Class A:
...
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "objectidA" ,referencedColumnName="objectid", nullable = false, updatable = false)
@Where(clause = "field= 'x'")
private Set<C> cSet = new HashSet<>();
成功しません。 提案がありますか?
どのように機能しますか? FK参照objectId 1を持つ表Cの項目は、ID 1の項目AとID 1の項目Bに関連付けられます。これは本当に必要なものですか? –