我有一個項目列表。每個項目都有一組類別。我想抓住特定類別的所有項目。這部分很簡單。我遇到問題的部分是讓我的查詢返回所有類別的項目,而不僅僅是我過濾的項目。休眠查詢不返回完整對象
session.createCriteria(Item.class) .createAlias("categories","category") .add(Restrictions.eq("category.name",categoryFilter))
上面的代碼返回的項目,但只與我過濾的類別。無論如何要說這個限制過濾對象,但返回完整的對象,而不是過濾的對象?我也試着用HQL編寫這個結果。
我已經雙重檢查了渴望的映射,並且已經設置了fetchmode,如您所示。它們都沒有成功。 – UmYeah 2010-01-30 05:04:25
我現在已經嘗試過類似的情況,實際上這不起作用。 我自己還沒有需要的修復版本的hibernate,但是修改允許指定FetchType作爲createAlias的第三個參數,可以這樣做。 請參閱http://opensource.atlassian.com/projects/hibernate/browse/HHH-1696 – 2010-01-30 12:53:39
在我自己的評論 - 我在標準中有重載,但它不是FetchType是第三個參數,它是CriteriaSpecification。雖然我沒有看到它正確的這個問題。 引用的jira是爲了將此重載添加到DetachedCriteria中,這不在此處播放。 – 2010-01-30 13:26:30