Java Hibernate-按ID添加成员实体实例

Java Hibernate-按ID添加成员实体实例,java,hibernate,orm,persistence,Java,Hibernate,Orm,Persistence,我有一个A型实体和一个B型引用成员实体。 我想插入a实例与B现有实例之间的关系,而不必获取B 有没有一种方法可以简单地通过ID来实现?比如: B mockB=新的B() mockB.id=“id__b” 实例a.setB(mockB) 谢谢。如果使用Fetch类型,LAZY hibernate将不会加载该对象,它将在需要时只加载对该对象的引用。就像只有元素的主键一样。它会自动执行此操作。如果您使用JPA,则可以使用EntityManager.getReference()在对象的代理中创建对象,而

我有一个A型实体和一个B型引用成员实体。 我想插入a实例与B现有实例之间的关系,而不必获取B

有没有一种方法可以简单地通过ID来实现?比如:

B mockB=新的B()

mockB.id=“id__b”

实例a.setB(mockB)


谢谢。

如果使用Fetch类型,LAZY hibernate将不会加载该对象,它将在需要时只加载对该对象的引用。就像只有元素的主键一样。它会自动执行此操作。

如果您使用JPA,则可以使用
EntityManager.getReference()
在对象的代理中创建对象,而无需获取所有字段,例如:

B mockB = entityManager.getReference(B.class, "id_persisted_b");
instanceA.setB(mockB);

延迟抓取决定在加载父对象时是否加载子对象。您需要分别设置父类的hibernate映射文件

Lazy=true(表示不加载子对象)。默认情况下,子对象的延迟加载为true