一尘不染

我可以仅使用ID设置实体关系吗?

hibernate

我有一个JPA(hibernate)实体:

@Entity class Transaction {

  @ManyToOne
  private Room room;

}

当我创建一个new时Transaction,我知道Room它应该引用的ID
(但没有Room对象)。我可以Transaction仅使用此信息以某种方式创建并保留,还是真的需要:

Room room = em.find(roomId, Room.class);
em.persist(new Transaction(room, ...));

阅读 299

收藏
2020-06-20

共1个答案

一尘不染

您可以EntityManager.getReference()用来获取相关实体的代理,而无需访问数据库。此代理是延迟初始化的,仅当您查询实体以外的ID时,才会初始化该代理。

2020-06-20