簡體   English   中英

具有多個表的Java遍歷HQL結果

[英]Java Iterating over HQL result with multiple tables

說,使用hql,我從四個表(t1,t2,t3,t4)中進行選擇

這就是我的hql的樣子:

String multiTableHql = "from tbl1, tbl2, tbl3, tbl4"; // omitting  filtering
Query mtq = myDao.getInstance().getSession().createQuery(multiTableHql);

現在,我的理解是,調用mtq.list()顯然會帶來一個對象列表,其中每個對象的屬性就是那些表。

我將如何遍歷該列表,以便可以分別獲取每個表?

我嘗試過Iterator和ArrayList顯然沒有成功。 可能是我做錯了。

請為我建議正確的方法。 提前致謝。

您的查詢實際上是笛卡爾積。 因此,如果所有表都有1000行,您將獲得1000 * 1000 * 1000 * 1000 = 1萬億個結果。

如果我們談論的是ToOne關聯,最好將它們與SQL或HQL關聯(如果您具有從t1到t2到t3到t4的可導航映射)。

如果這些是ToMany協會,加入您將獲得笛卡爾乘積,在這種情況下,有4個不同的選擇將為您帶來4 * 1000個結果(大於1萬億個)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM