我對Hibernate Criteria不是很熟悉,如果這個問題太簡單了,我表示歉意......但是,非常感謝任何幫助!Hibernate Criteria集合屬性(子查詢?)
我有兩個實體,CD和Track。每張CD都有音軌對象的集合。在每個軌道中都有一個名爲「title」的字符串字段。現在我想要使用Hibernate Criteria檢索所有具有「title」設置爲特定值的Track的CD。我到目前爲止是這樣的:
//session handling
Criteria cdCriteria = session.createCriteria(CD.class);
DetachedCriteria trackCriteria = DetachedCriteria.forClass(Track.class);
trackCriteria.add(Restrictions.eq("title", "SomeTitle"));
trackCriteria.setProjection(Projections.property("title"));
criteria.add(Subqueries.exists(trackCriteria));
List<CD> cds = criteria.list();
這將返回所有的CD,無論曲目標題的。有人有任何建議嗎?
預先感謝您。
謝謝!我設法讓你的最後一個解決方案工作,加入。另外兩個映射異常失敗,Unknown entity:null我相信這是因爲「track.cd」,因爲「cd」不是Track中的字段。僅從CD到Track的關係是定向的。還是我在這裏錯了? – user1119371 2011-12-28 15:28:45
不,你說得對。我認爲該協會是雙向的,並且一個賽道有一個CD場。 – 2011-12-28 15:32:23
那麼,通過使用子查詢是不可能的?由於關聯不是雙向的,唯一的方法是使用連接? – user1119371 2011-12-28 15:56:43