JPA命令从外键获取ID

时间:2012-01-31 03:45:17

标签: java hibernate jpa

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

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

之间

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

2 个答案:

答案 0 :(得分:2)

在第一种情况下,Merchant对象成为附加实体,而在第二种情况下,如果尚未附加,则保持分离。

答案 1 :(得分:1)

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

的商家