使用detachedCriteria.setResultTransformer(DetachedCriteria.ROOT_ENTITY)

detachedCriteria.setResultTransformer(DetachedCriteria.ROOT_ENTITY);的作用

是用来指定hibernate框架封装对象的方法

例如有两个对象region和subarea,然后在subarea里面有region

此时用detachedCriteria根据条件查询查到的subarea里面的region没有被封装进去,而是被并列查出来,debug下如图
使用detachedCriteria.setResultTransformer(DetachedCriteria.ROOT_ENTITY)
如上面图片所示两个对象没有联立在一起

如果加上这句detachedCriteria.setResultTransformer(DetachedCriteria.ROOT_ENTITY);在这之后执行条件查询,debug下如图
使用detachedCriteria.setResultTransformer(DetachedCriteria.ROOT_ENTITY)
这样的效果就是把一个对象存到另一个对象的引用里面了。