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

标签 hibernate jpa orm entity-relationship

我有一个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/

相关文章:

python - 你在 MongoDB 中使用数据映射器吗?

java - 在 Hibernate 中映射具有递增列的复合键

java - JPA OneToOne 加入问题

java - JPA "The attribute matching the ID class attribute xxxxxxx does not have the correct type int"

java - 不生成 Spring Data Jpa Querydsl Q 实体类

php - 我应该在 MVC 中完全分离模型和 ORM 吗?

java - hibernate 的问题 - 持久上下文

mysql - HQL NOT 运算符问题

mysql - 如何删除连接表中的行?

hibernate - 辅助表还是一对一关联?