当subarea里面含有region对象时,使用这样的离线模糊查询是不行的。
dc.add(Restrictions.like("region.province","%"+province+"%"));
这里涉及到多表关联查询,使用别名来实现。
dc.createAlias("region","r");//就是添加别名,第一个参数是关联对象的属性名,第二个是该属性名的别名。
dc.add(Restrictions.like("r.province","%"+province+"%"));
当进行关联查询的时候:
注意hibernate会给我们进行两个对象的封装,把subarea和region都封装了,且把这两个对象封装成一个object[]
即object[],里面包含subarea对象和region对象,
实际要的效果是,subarea对象里面包含region对象。
通过:detachedCriteria.setResultTransformer(DetacherCriteria.ROOT_ENTITY);来指定hibernate框架封装对象的方式。
hibernate的关联对象查询,且指定hibernate的封装对象和关联对象的方式
最新推荐文章于 2021-02-16 21:42:43 发布