Променете това:
@OneToMany(mappedBy = "providertype")
private Set<HL7DocumentEntity> documententities;
Към това:
@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;
И в HL7DocumentEntity се променя, както следва:
Това
@ManyToOne
@JoinColumns({ @JoinColumn(name = "ptcode", referencedColumnName = "code"),
@JoinColumn(name = "ptcodesystem", referencedColumnName = "codesystem")
})
private HL7GeneralCode providertype;
Променете на това:
@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;
Мисля, че трябва да промените "change_this_with_primary_key_variable_name_from_HL7DocumentEntity" с "id", както е в BaseEntity, но погледнете вашата sql таблица, там ще видите правилното име.
Надявам се, че забелязвате как казах на JPA да използва същата таблица "Link_Documents" за свързване на двете таблици. Мисля, че това е вашата грешка. Просто не забравяйте да промените мястото, което ви казах, с правилното име на променливата и мисля, че трябва да работи