2011-04-28 7 views
0

是否可以僅在超類型上進行hibernate查詢?超類型的hibernate查詢返回子類型的結果,如何僅返回超類型的結果?

我叫做Conversation的超類型有它自己的hbm。 對話是Idea的超類型&問題也有自己的hbm。

如果我對超類型對話進行計數查詢,它也會返回主意&問題的計數。 我該如何避免這種情況?

例子:

  • 3想法
  • 4個問題
  • 1交談

如果我就想法查詢計數將返回3 如果我將查詢計算在它將返回的問題上4 如果我馬上柯在談話中的查詢次數,它會返回3 + 4 + 1 = 8

我希望查詢只返回我1(僅通話)

+0

如果您在查詢超類型,你會得到'超類型'的結果。如果你想只從一個特定的子類型的結果,該子類型的查詢 – 2011-04-28 10:23:55

+0

不,它也會返回我的子類型的結果,如果我對超類型 – 2011-04-28 10:36:13

+0

當然它會,也許你可以解釋你的問題多一點 – 2011-04-28 10:37:39

回答

1

如何select count(c.id) from Conversation c where c.id not in (select i.id from Ideas i) or c.id not in (select q.id from Questions q)

+0

嗯,我想避免普通的SQL和只使用標準查詢 – 2011-04-28 12:59:22

+0

我沒有使用標準查詢,所以我不能說明查詢,但我認爲上述查詢可以轉換爲標準查詢。查詢在HQL中 – 2011-04-28 16:15:20