hibernate 關聯查詢

2021-08-27 13:31:21 字數 1405 閱讀 1475

hibernate 外來鍵關聯查詢

warehouse 外來鍵關聯 position ,position外來鍵關聯shelf,shelf外檢關聯house。

關聯查詢使用條件houseid = 1

criteria criteria = session.createcriteria(warehouse);

criteria.createalias("position", "position"); 關聯查詢position表

criteria.createalias("position.shelf", "shelf") 通過position的外來鍵關聯查詢shelf表

criteria.add(expression.eq("shelf.house.houseid" , "1")) 已shelf表的外來鍵做條件

如果查詢house中的name,還需要關聯house表

條件housename="***";

criteria criteria = session.createcriteria(warehouse);

criteria.createalias("position", "position"); 關聯查詢position表

criteria.createalias("position.shelf", "shelf") 通過position的外來鍵關聯查詢shelf表

criteria.createalias("shelf.house", "house") 通過shelf的外來鍵關聯查詢house表

criteria.add(expression.eq("house.housename" , "***")) 已shelf表的外來鍵做條件

criteria.setresulttransformer(criteria.distinct_root_entity) 去掉重覆記錄

criteria.list() 查詢

可以使用下面方式查詢

criteria criteria = session.createcriteria(warehouse.class);

criteria.createalias("positions", "positions"); 關聯查詢position表

criteria.createalias("position.shelf", "shelf") 通過position的外來鍵關聯查詢shelf表

criteria.createalias("shelf.house", "house") 通過shelf的外來鍵關聯查詢house表

criteria.add(expression.eq("house.housename" , "***")) 已shelf表的外來鍵做條件

criteria.setresulttransformer(criteria.distinct_root_entity) 去掉重覆記錄

criteria.list() 查詢

Hibernate關聯查詢 一對多雙向關聯

dept實體類 public class dept public void setemps setemps private setemps new hashset public integer getdeptno public void setdeptno integer deptno public...

mysql關聯查詢去重 MySQL 關聯查詢

mysql 關聯查詢 sql資料分析 1週前 mysql 關聯查詢 前面,我們介紹的都是單錶查詢 就是只從一張表中獲取資料 而實際應用的時候,我們都會同時查詢多張表,這裡,我們就介紹下,多表關聯查詢的使用。sql join 用於根據兩個或多個表中的列之間的關係,從這些表中查詢資料 前置知識 主鍵 p...

表關聯查詢

一 內連線和外連線 內連線用於返回滿足連線條件的記錄 而外連線則是內連線的擴充套件,它不僅會滿足連線條件的記錄,而且還會返回不滿足連線條件的記錄,語法如下 oracle 1.select table1.column,table2.column from table1 inner left right...