Thay đổi điều này:
@OneToMany(mappedBy = "providertype")
private Set<HL7DocumentEntity> documententities;
Về điều này:
@OneToMany(fetch = FetchType.LAZY)
@JoinTable(name = "Link_Documents", joinColumns = {@JoinColumn(name = "codePk", unique = true)}, inverseJoinColumns = {@JoinColumn(name = "change_this_with_primary_key_variable_name_from_HL7DocumentEntity")})
private Set<HL7DocumentEntity> documententities;
Và trong HL7DocumentEntity thay đổi như sau:
Điều này
@ManyToOne
@JoinColumns({ @JoinColumn(name = "ptcode", referencedColumnName = "code"),
@JoinColumn(name = "ptcodesystem", referencedColumnName = "codesystem")
})
private HL7GeneralCode providertype;
Thay đổi thành này:
@ManyToOne(fetch = FetchType.LAZY)
@JoinTable(name = "Link_Documents", joinColumns = {@JoinColumn(name = "change_this_with_primary_key_variable_name_from_HL7DocumentEntity")}, inverseJoinColumns = {@JoinColumn(name = "codePk")})
private HL7GeneralCode providertype;
Tôi nghĩ bạn phải thay đổi "change_this_with_primary_key_variable_name_from_HL7DocumentEntity" bằng "id" giống như trong BaseEntity nhưng hãy xem bảng sql của bạn, bạn sẽ thấy tên chính xác.
Tôi hy vọng bạn lưu ý Cách tôi đã nói với JPA sử dụng cùng một bảng "Link_Documents" để liên kết 2 bảng. Tôi nghĩ rằng đây là sai lầm của bạn là. Chỉ cần đảm bảo thay đổi nơi tôi đã nói với bạn bằng tên biến chính xác và tôi nghĩ nó sẽ hoạt động