Zmień to:
@OneToMany(mappedBy = "providertype")
private Set<HL7DocumentEntity> documententities;
Do tego:
@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;
A w HL7DocumentEntity zmień w następujący sposób:
To
@ManyToOne
@JoinColumns({ @JoinColumn(name = "ptcode", referencedColumnName = "code"),
@JoinColumn(name = "ptcodesystem", referencedColumnName = "codesystem")
})
private HL7GeneralCode providertype;
Zmień na to:
@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;
Myślę, że musisz zmienić „change_this_with_primary_key_variable_name_from_HL7DocumentEntity” na „id”, tak jak w BaseEntity, ale spójrz na swoją tabelę sql, zobaczysz tam poprawną nazwę.
Mam nadzieję, że zauważyłeś, jak powiedziałem JPA, aby używało tej samej tabeli „Link_Documents” do łączenia dwóch tabel. Myślę, że to był twój błąd. Tylko pamiętaj, aby zmienić miejsce, w którym ci powiedziałem, z poprawną nazwą zmiennej i myślę, że powinno to działać