Hibernate Criteria 關聯查詢

2021-04-15 22:49:18 字數 871 閱讀 9920

前面講了criteria看起來比hql順眼多了,接著繼續。

如果每個美女都有自己的客戶資源(不要想歪了!),那麼需要查詢擁有客戶gates的美女怎麼辦?

使用criteria可以有兩種方法:

1:detachedcriteria beautycriteria = detachedcriteria.forclass(beauty.class).createcriteria("customers");

beautycriteria.add(restrictions.eq("name", "gates")):

2:detachedcriteria beautycriteria = detachedcriteria.forclass(beauty.class).createalias("customers", "c");

beautycriteria.add(restrictions.eq("c.name", "gates")):

接著有了新的要求,年紀太大的美女不要,還是查詢擁有客戶gates的,條件如下:

detachedcriteria beautycriteria = detachedcriteria.forclass(beauty.class, "b").;

detachedcriteria customercriteria = beautycriteria.createalias("customers", c");

beautycriteria.add(restrictions.le("b.age", new long(20))):

customercriteria.add(restrictions.eq("c.name", "gates")):

關於criteria更詳細的資料,hibernate的源**和測試是最好的文件。  

hibernate ,criteria關聯查詢

關聯查詢可分為兩種 a 實體間有定義關聯關係的 一對多,多對一等 對已定義關聯關係的,我們可以使用createalias 來建立屬性的別名,然後引用別名進行條件查詢,如 criteria criteria session.createcriteria parent.class criteria.cr...

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

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

表關聯查詢

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