hibernate中使用QBC進行多表條件查詢
阿新 • • 發佈:2019-02-08
兩個表關係如上圖,區域和分割槽為一對多的關係,對分割槽進行條件查詢,需要用到區域裡的省市區屬性,這樣就需要對這兩張表進行查詢。
Criteria criteria = this.getSession().createCriteria(Subarea.class);
criteria.createAlias("region", "re");
criteria.add(Restrictions.like("re.city","%"+subarea.getRegion().getCity()+"%"));
這裡新增條件時,不能直接用region.city,要先給region取個別名,然後用這個別名.屬性,進行新增條件
如果還要恢復預設的結果集狀態,需呼叫
criteria.setResultTransformer(Criteria.ROOT_ENTITY);