Hibernate反復マッピングフィールド


時々、@を使うManyToMany@JoinColumnこの形式のテーブル関連付けは元の@Basic@Column衝突を引き起こす
コードは次のとおりです.
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, targetEntity = Role.class)
@JoinColumn(name="role_id")
public Role getRole() {
    return role;
}

@Basic
@Column(name = "role_id", nullable = true)
public Integer getRoleId() {
    return roleId;
}

解決策@JoinColumnでプロパティを読み取り専用に設定
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, targetEntity = Role.class)
@JoinColumn(name="role_id", insertable = false, updatable = false)
public Role getRole() {
    return role;
}