Недавно я впервые играю с hibernate Criteria API.
Я пытался сделать эквивалент этого HQL
"выберите t.userTbl из Задачи t"
Свойство userTbl является многозначным от Задачи. Отношение Task.userTbl лениво.
Итак, я придумал это
Criteria criteria = session.createCriteria( Task.class, "t" );
criteria.setProjection( Projections.property( "t.userTbl" ) );
List results = criteria.list();
К сожалению, это отличается от HQL.
В HQL, хотя отношение userTbl установлено на ленивое отображение, HQL охотно выбирает и материализует непрокси-объекты UserTbl.
Однако в Критерии я получаю список прокси, которые мне не нужны. Я возился с setFetchMode, но это было не совсем правильно. У кого-нибудь есть идеи, как правильно выполнить вышеупомянутое в критериях и вернуть не-прокси как HQL?
Спасибо.