我真的無法找到足夠的關於hibernate IN關鍵字的文檔,當應用於某個對象的集合內的搜索時。我有奇怪的問題,我有一個hql查詢:HQL搜索子內SET與IN關鍵字
FROM Contact co, IN (co.categories)categories WHERE categories.name = ?
在我期待的課程聯繫人列表。但它有什麼不對,因爲它不是返回Contact對象的列表,而是Object []的列表?它是語法還是完全錯誤?
這裏正在映射部分:
<set lazy="false" name="categories" table="ContactCategory">
<key column="id" foreign-key="fk_contact_category" />
<many-to-many class="Category" column="catid"
foreign-key="fk_contact_category2" />
</set>
<class name="Category">
<id column="catid" name="Id" type="long">
<generator class="sequence" />
</id>
<property length="50" name="name" type="string" />
</class>
重要的是要提:這個查詢與查詢生成器製作。這是打印輸出生成的查詢失敗之一。非常奇怪的是 - 我得到這個列表中的對象的正確數量,我檢查數據庫和數字是正確的給定的參數,但我沒有得到聯繫對象,但在列表中的一些對象數組。
感謝所有幫助
你能否描述一下你的域類和你想做什麼,因爲我相信你嘗試錯誤的方式。 – Ralph 2011-05-03 19:19:49
@Ralph:我編輯過! – Julia 2011-05-03 19:29:56