[英]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.