1
我有問題,我有一個多對多的關係,我想添加或刪除集合中的項目。 *彈簧數據JPA多對多保存設置
@Entity
@DiscriminatorValue("P")
public class Patient extends User{
private String firstName;
private String lastName;
@Embedded
private Address address;
@ManyToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
@JoinTable(name="PatientOrganisation", joinColumns = {@JoinColumn(name="patientId")}, inverseJoinColumns = {@JoinColumn(name="organisationId")})
private Set<Organisation> organisations = new HashSet<Organisation>();
}
*
@Entity
@DiscriminatorValue("O")
public class Organisation extends User{
@Column(name="organisationName")
private String name;
@ManyToMany(mappedBy="organisations", fetch=FetchType.LAZY, cascade=CascadeType.ALL)
private Set<Patient> patients = new HashSet<Patient>();
}
這是我的兩個實體。
現在我試着寫一個自定義的保存梅索德這樣
公共接口OrganisationRepository擴展
PagingAndSortingRepository<Organisation, Long>{
@Query (value="insert into patient_organisation(patient_id, organisation_id) values ([?1], [?2])", nativeQuery=true)
Organisation addPatient(Long patientId, Long organisationId);
}
但沒有工作,我得到這個錯誤。
不能用executeQuery()發出數據操作語句。
有沒有更聰明的方法來做到這一點,或有人可以幫我解決這個錯誤。
謝謝, 克里斯