首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在java j2ee中通过控制器设置外键?

如何在java j2ee中通过控制器设置外键?
EN

Stack Overflow用户
提问于 2018-05-28 08:29:49
回答 1查看 107关注 0票数 0

我有两个表clients和contact:

代码语言:javascript
复制
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的实例:

代码语言:javascript
复制
Contacts contact = new Contacts() 

如何手动设置联系人的外键我尝试了:contact.getClient().setIdClient(1),但不起作用。

EN

回答 1

Stack Overflow用户

发布于 2018-05-28 08:57:36

JPA的一个主要目的是避免手动处理关系键;相反,只需使用常规的Java引用。做你想做的事:

代码语言:javascript
复制
Client clientOne = clients.find(1L); // or get the client some other way
contact.setClient(clientOne);

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

代码语言:javascript
复制
@GetMapping("/clients/{id}")
public Client getClient(@PathVariable("id") Client client) {
    return client;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50557726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档