Hibernate one-to-one: getId() without fetching entire object Hibernate一对一关系:在不获取整个对象的情况下获取getId()。
- 论坛
- Hibernate one-to-one: getId() without fetching entire object Hibernate一对一关系:在不获取整个对象的情况下获取getId()。
7 浏览
Hibernate one-to-one: getId() without fetching entire object Hibernate一对一关系:在不获取整个对象的情况下获取getId()。
我想在不加载整个对象的情况下获取一对一关系的id。我以为可以通过延迟加载来实现,代码如下:
class Foo { @OneToOne(fetch = FetchType.LAZY, optional = false) private Bar bar; } Foo f = session.get(Foo.class, fooId); // Hibernate获取Foo对象 f.getBar(); // Hibernate获取完整的Bar对象 f.getBar().getId(); // 不再进行额外的获取,返回id
我希望f.getBar()不会触发另一个获取操作。我希望Hibernate给我一个代理对象,允许我调用.getId()而不实际获取Bar对象。
我做错了什么?