Kann jemand die Zuordnung von Entitäten reparieren?Wie man Entitäten mit @EmbeddedId abbildet?
Fehler ist
Verursacht durch: org.hibernate.AnnotationException: Spaltenname ID des com.test.TableAa nicht in JoinColumns.referencedColumnName gefunden.
TableAa Entität
@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 zusammengesetzten Schlüssel
@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 Entität
@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;
}
TableBbPk zusammengesetzten Schlüssel
@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;
}
Format Code, bitte – Mistalis