如何通过java J2EE中的控制器设置外键?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (44)

我有两个表客户端和联系人: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),它没有工作。

提问于
用户回答回答于

PA的一个主要目的是避免手动摆弄关系密钥; 相反,只需使用常规的Java引用。对于你想要做的事情:

Client clientOne = clients.find(1L); // or get the client some other way
contact.setClient(clientOne);

请注意,Spring数据(除了自动实现的存储库)提供了一个转换器,因此如果你的控制器有一个引用现有对象ID的方法参数,则可以传递该对象本身,而不是手动查找:

@GetMapping("/clients/{id}")
public Client getClient(@PathVariable("id") Client client) {
    return client;
}

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动