多くのプロパティを持つBean MyClassを持っている場合。
@Basic(fetch = lazy)
で1つのプロパティを取得しようとすると、クラスを正しく計測する必要がありますか?
しかし
what if you do a projection over your bean and then do a 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();
それはトリックです。 IDだけで、オブジェクト全体ではありません。
私の質問は。この Usuario
のObjectはクエリキャッシュと同じで、 .get()
で取得したものと同じですか?
画像あなたは別のオブジェクトを持っており、あなたはusuarioとの関係を作る必要がある。
//projected Usuario object
AnotherObject.setUsuario(usuario);
//this works okay, しかし its correct?
ありがとうございました。