我有一个JPA(hibernate)实体:
@Entity class Transaction { @ManyToOne private Room room; }
当我创建一个new时Transaction,我知道Room它应该引用的ID (但没有Room对象)。我可以Transaction仅使用此信息以某种方式创建并保留,还是真的需要:
Transaction
Room
Room room = em.find(roomId, Room.class); em.persist(new Transaction(room, ...));
您可以EntityManager.getReference()用来获取相关实体的代理,而无需访问数据库。此代理是延迟初始化的,仅当您查询实体以外的ID时,才会初始化该代理。
EntityManager.getReference()