JPAでPKとFKに結合したいテーブルが2つありますが、PKは大文字でFK小文字です。JPAで大文字と小文字を区別しないPKとFKのテーブルを結合する
Person - > GroupAssociationEntityの間で大文字と小文字を区別しない関連付けをどのようにしてマッピングできますか?
現在のマッピングが機能していません。
@Entity
public class Person {
@Id
@Column(name = "id", columnDefinition = "nvarchar")
private String id;
@OneToMany(mappedBy = "person")
private List<GroupAssociationEntity> groups;
}
@Entity
@IdClass(GroupAssociationKey.class)
public class GroupAssociationEntity {
@Id
private String id;
@Id
private String memberOf;
@ManyToOne
@JoinColumn(name = "id", updatable = false, insertable = false, referencedColumnName = "id")
private Group group;
@ManyToOne
@JoinColumn(name = "memberOf", updatable = false, insertable = false, referencedColumnName = "id")
private Person person;
....
}
@Entity
public class Group {
@Id
@Column(name = "id")
private String id;
@OneToMany(mappedBy = "group")
private List<GroupAssociationEntity> persons;
......
}
Personクラスには 'memberOf'フィールドはありません。クラスの '@ JoinColumn'を実行するときには、そのフィールドを持つ必要があります。 – msagala25
そうである必要はありません。 'memberOf'はリンクテーブルの単なる列です。 –