我想知道是否有可能对实体进行延迟设置。考虑一下这段代码:
__ge__
在幕后,我们有一个名为Bar和BarRepository的实体。现在我不想从它的回购中取出Bar。我想只使用我的barId参数,不要用另一个fetch麻烦我的数据库。这甚至可行吗?
答案 0 :(得分:0)
我找到了解决方案:
@Component
public class FooAssembler{
@PersistenceContext
private EntityManager em;
public Foo toFoo(Long barId){
return new Foo(em.getReference(Bar.class, barId))
}
}
感谢EntityManager我能够创建一个代理(就像Hibernate一样),我可以使用它而不是获取真实实体。