Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从外键获取ID的JPA命令_Java_Hibernate_Jpa - Fatal编程技术网

Java 从外键获取ID的JPA命令

Java 从外键获取ID的JPA命令,java,hibernate,jpa,Java,Hibernate,Jpa,与JPA上的这种语法有什么不同 q.setMerchant(em.find(Merchant.class, m.getId())); 中间 q.getMerchant.setId(m.getId()); 在第一种情况下,商户对象成为一个已连接的实体,在第二种情况下,如果尚未连接,它将保持分离状态。您的第一个示例将q商户设置为使用I'd m.getId()找到的商户。第二个示例检索调用q返回的商户,然后将其id设置为m.getId()。它不会将q上的商户设置为识别我的m.getId()的商户,

与JPA上的这种语法有什么不同

q.setMerchant(em.find(Merchant.class, m.getId()));
中间

q.getMerchant.setId(m.getId());

在第一种情况下,商户对象成为一个已连接的实体,在第二种情况下,如果尚未连接,它将保持分离状态。

您的第一个示例将q商户设置为使用I'd m.getId()找到的商户。第二个示例检索调用q返回的商户,然后将其id设置为m.getId()。它不会将q上的商户设置为识别我的m.getId()的商户

,因此在案例2中,如果我不编写以下代码:q.setmerchant(getMerchant()),id将返回null。是吗?如果不设置Merchant对象,那么q.getMerchant()可能返回null,而q.getMerchant().setId(m.getId())可能抛出NullPointerException。我明白了。。因此,在设置id之前,我们必须先设置q.setmerchant(getMerchant()),谢谢