問題:kam中有乙個department,department有多個iata ,如果要按照kam的name或者department的name來查,則很簡單
from kam as kam where kam.name="**" and kam.department.name="***"
但是如果是按照iata的名字呢?
from kam as kam where kam.name="**" and kam.department.name="***" and kam.depatment.iatalist.iatacode="***"
上面顯然不行,因為kam.depatment.iatalist是個集合,沒有name屬性
後來查到這裡可以這麼寫
select distinct kam from kamvo as kam inner join kam.department.iatalist as iata where kam.name="***" and
iata.iatacode="****"
注:採用inner join 實屬無奈,貌似hql裡面oracle方言不支援right join。好在後面還要select一下,就在後面加了 distinct
HQL中的一對多查詢
情況 kam中有乙個department,department有多個iata 如果要按照kam的name或者department的name來查,則很簡單 from kam as kam where kam.name and kam.department.name 但是如果是按照iata的名字呢?fr...
一對多查詢
最終會將訂單資訊對映到 orders 中,訂單所對應的訂單明細對映到 orders 中的 orderdetail 屬性中。每個 orders 中的 orderdetail 屬性儲存了該訂單所對應的訂單明細。select orders.user.username user.user.birthday ...
一對多查詢
案例 查詢所有使用者資訊及使用者關聯的訂單資訊。使用者資訊和訂單資訊為一對多關係。sql語句 select u.id,u.username,u.birthday,u.u.address,o.id oid,o.number,o.createtime,o.note from user u left jo...