Tôi không có uy tín để bình luận vì vậy tôi sẽ đưa ra nhận xét của mình ở đây:
Tại sao trường instalationPK không có trong instalation.class ?? Bạn nên đặt @EmbeddedId
trong trường instalationPK trong Cài đặt.class.
Tôi không tạo ra sự khác biệt, nhưng đặt joinCollums vào trường trong BaseEntity
:
@OneToOne
@JoinColumns({
@JoinColumn(name = "site", referencedColumnName = "site"),
@JoinColumn(name = "structure", referencedColumnName = "structure")
})
private Installation installation;