2017-04-19 103 views
0

特定於冬眠我是新手。所以請原諒我,好像我在問基本的東西。雖然我可以直接使用SQL並使事情完成,但我想在HQL中轉換這裏提到的複雜內聯查詢。任何人都可以快速指導我如何去做。即我需要使用哪些功能等。HQL內嵌查詢

Select c.DOCUMENT_TITLE_EN, d.* From 
(Select a.*, b.AOB_SUPPORTED_DOCUMENT_ID from 
(Select act.* 
from ACTIVITIES act inner join CATEGORIES cat 
on act.CATEGORIES_ID=cat.CATEGORIES_ID 
Where cat.AOB_CATEGORIES_ID in (1) 
and act.USER_TYPE= '1') a left outer join ACTIVITY_ATTACHMENT b 
on a.ACTIVITIES_ID = b.ACTIVITIES_ID) d  
Left Outer Join SUPPORTED_DOCUMENT c 
on d.SUPPORTED_DOCUMENT_ID = c.SUPPORTED_DOCUMENT_ID ; 

回答

0

您必須爲每個表和數據庫列的java屬性創建hibernate實體。

然後在hql中,所有你需要的是用屬性名稱替換帶有實體名稱和列名的表名。

0

使用此方法... session.createQuery();

+0

根據您的表column_name創建具有屬性的java類,然後使用 session.createQuery(「select * from Your_Class_name」); 如.. @ entity'enter代碼here' @table( 「表格名」) 公共類的測試{ 私人詮釋ID; 私人字符串名稱; setter /得到 } 現在。 session_object.createQuery(「從列表中選擇列名」); –