有沒有什麼辦法讓Hibernate取代實體屬性的原生SQL查詢(由Session.createSQLQuery()
創建)的名字呢?用Hibernate的屬性映射在普通的SQL查詢
我想建立一個查詢,其中任意列取不導致Hibernate的實體,類似於這樣一個
SELECT t1.attr1, t2.attr2, t3.attr3 WHERE t1.attr1 = 'foo' AND t2.attr2 = ...
與「attR1位」,「attR2位」,......是的Java屬性名稱應該由Hibernate自動映射。
我見過SQLQuery.addEntity()
但似乎在結果集上工作,而不是在查詢上。
是否有任何方法可以替換查詢上的屬性名稱,或任何允許我輕鬆訪問由Hibernate生成的映射而不必檢查實體上的註釋的工具?
謝謝!
純HQL是沒有選擇,因爲我想包括未映射Hibernate的表。 AFAIK HQL不支持包含Hibernate未知的未映射表。如果我在這裏弄錯了,請糾正我。 – void 2011-01-17 10:04:16