Если у вас есть боб MyClass с большим количеством свойств.
Если вы хотите ленивым получить одно свойство с @Basic( fetch=lazy)
, вам нужно правильно настроить свой класс?
но
что если вы сделаете проекцию на свой боб, а затем выполните ResultTransformer(TransFormers.aliasToBean(MyClass.class))
Примерно так:
/*.get(Usuario.class, 1); this gets the wholeobject with out @Basic(fetch=lazy)*/
Usuario usuario = (Usuario) session
.createCriteria(Usuario.class)
.add(Restrictions.eq("id", 1))
.setProjection(Projections.projectionList()
.add(Projections.property("id").as("id")))
.setResultTransformer(Transformers.aliasToBean(Usuario.class))
.uniqueResult();
То естьтрюк.У вас есть только удостоверение личности, а не весь объект.
У меня вопрос.Этот объект Usuario
такой же в кеше запросов и кеше, как если бы я получил его с .get()
?
Изображение, у вас есть другой объект и вам нужно установить связь с usuario.
// projected Usuario object
AnotherObject.setUsuario(usuario);
// this works okay, but its correct?
Спасибо.