我有一个JPA( hibernate )实体:
@Entity class Transaction {
@ManyToOne
private Room room;
}
当我创建一个新的
Transaction
时,我知道它应该引用的Room
的ID(但没有Room
对象)。我可以仅使用此信息以某种方式创建并保留Transaction
还是真的需要:Room room = em.find(roomId, Room.class);
em.persist(new Transaction(room, ...));
最佳答案
您可以使用EntityManager.getReference()
来获取相关实体的代理,而无需访问数据库。此代理是延迟初始化的,仅当您查询实体以外的ID时,才会初始化该代理。
关于hibernate - 我可以仅使用ID设置实体关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7847404/