記住重要的一點是:hql不算子據庫,他操作的是類物件。
這裡有兩張表
user(id,name) 對應user類(int id,string name)
score(id,math,user_id),user_id為外來鍵,對應user表中的id 對應score類(int id,int math,useruser_id)
注意:user_id,他是乙個物件,是乙個user類的物件
現在要根據user_id來查詢score中的資料。
hql語句是:from score s left outer joins.user_idwheres.user_id.id=?
其中,紅色部分指的是在score類中表示user類的屬性名稱,他是乙個類物件
藍色部分,前面的s.user_id是乙個user類的物件,user類物件.id就能拿到user類中的id值。
補充:以上情況適用於懶載入。若配置了lazy=false,即不進行懶載入,那麼可以直接使用from score s wheres.user_id.id=?
hibernate多表查詢HQL
innerjoin 內連線 left outerjoin 左外連線 right outerjoin 右外連線 fulljoin 全連線,並不常用 sql中的條件用on即 leftjoin.on.hql中的條件用with即 leftjoin.with.語句innerjoin,left outerjoi...
hibernate框架中使用hql語句查詢資料庫
首先寫hql語句,string hql from user user是你要查詢的物件類名,當類名不唯一時需要寫出完整類名,比如在乙個專案中兩個包中都含有user類時,hql語句應該這樣寫,stirng hql from com.ss.model.user 根據hql語句建立查詢物件。session....
Hibernate之HQL語言查詢
建立hibernateutils類,便於直接獲取session package com.utils import org.hibernate.session import org.hibernate.sessionfactory import org.hibernate.cfg.configurat...