我有两个表clients和contact:
public class Contacts implements Serializable{
@Id
@GeneratedValue
private Long idContacts;
private String nomContacts;
private String prenomContacts;
private String telephone;
private String autreTelephone;
private String fax;
private String email;
private int deleted = 0;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "idClient")
private Client client;
}
我声明了一个Contact的实例:
Contacts contact = new Contacts()
如何手动设置联系人的外键我尝试了:contact.getClient().setIdClient(1)
,但不起作用。
发布于 2018-05-28 08:57:36
JPA的一个主要目的是避免手动处理关系键;相反,只需使用常规的Java引用。做你想做的事:
Client clientOne = clients.find(1L); // or get the client some other way
contact.setClient(clientOne);
请注意,Spring Data (除了自动实现的存储库之外)还提供了一个转换器,因此,如果您的控制器有一个引用现有对象ID的方法参数,您可以传递对象本身,而不是手动查找:
@GetMapping("/clients/{id}")
public Client getClient(@PathVariable("id") Client client) {
return client;
}
https://stackoverflow.com/questions/50557726
复制相似问题