誰かがエンティティのマッピングを修正する方法を知っていますか? org.hibernate.AnnotationException:エンティティを@EmbeddedIdにマップする方法は?
エラーによって引き起こさ
あるJoinColumns.referencedColumnNameでは見られない com.test.TableAaの列名ID。
TableAaエンティティ
@Entity
@Table(name = "TABLE_AA")
public class TableAa {
@EmbeddedId
private TableAaPk pk;
@Column(name = "FIRST_NAME")
private String first_name;
@Column(name = "LAST_NAME")
private String last_name;
//@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
//@JoinColumns({
//@JoinColumn(name = "ID", referencedColumnName = "ID", insertable = false, updatable = false),
//@JoinColumn(name = "ACCOUNT_NUMBER", referencedColumnName = "ACCOUNT_NUMBER", insertable = false, updatable = false) })
@OneToMany(mappedBy = "tableAa", cascade = CascadeType.ALL)
private List<TableBb> tableBbList;
}
TableAaPk複合キー
@Embeddable
public class TableAaPk implements Serializable{
private static final long serialVersionUID = 1L;
@Column(name="ID")
private String id;
@Column(name="ACCOUNT_NUMBER")
private String accountNumber;
}
TableBbエンティティ
@Entity
@Table(name = "TABLE_BB")
public class TableBb {
@EmbeddedId
private TableBbPk pk;
@Column(name = "FIRST_NAME")
private String first_name;
@Column(name = "LAST_NAME")
private String last_name;
}
あなたのTAbleAaで
TableBbPk複合キー
@Embeddable
public class TableBbPk implements Serializable{
private static final long serialVersionUID = 1L;
@Column(name="ID")
private String id;
@Column(name="ACCOUNT_NUMBER")
private String accountNumber;
@Column(name="CODE")
private String code;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "ID", referencedColumnName = "ID", insertable = false, updatable = false),
@JoinColumn(name = "ACCOUNT_NUMBER", referencedColumnName = "ACCOUNT_NUMBER", insertable = false, updatable = false) })
private TableAa tableAa;
}
フォーマット、コード内であなたの問題を考えてください。 – Mistalis