Я хочу получить идентификатор отношения "один к одному" без загрузки всего объекта. Я думал, что могу сделать это, используя ленивую загрузку следующим образом:
class Foo {
@OneToOne(fetch = FetchType.LAZY, optional = false)
private Bar bar;
}
Foo f = session.get(Foo.class, fooId); // Hibernate fetches Foo
f.getBar(); // Hibernate fetches full Bar object
f.getBar().getId(); // No further fetch, returns id
Я хочу, чтобы f.getBar() не вызывал другую выборку. Я хочу, чтобы hibernate дал мне прокси-объект, который позволяет мне вызвать .getId(), не выбирая объект Bar.
Что я делаю неправильно?