Java HQL内联查询

Java HQL内联查询,java,sql,hibernate,hql,Java,Sql,Hibernate,Hql,具体到冬眠我是新手。所以请原谅我,好像我在问一些基本的问题。虽然我可以直接使用SQL并使事情变得完整,但我想在HQL中转换下面提到的复杂内联查询。谁能快点指导我怎么做。i、 e我需要使用哪些功能等 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

具体到冬眠我是新手。所以请原谅我,好像我在问一些基本的问题。虽然我可以直接使用SQL并使事情变得完整,但我想在HQL中转换下面提到的复杂内联查询。谁能快点指导我怎么做。i、 e我需要使用哪些功能等

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 ; 

您必须为每个表创建hibernate实体,并为数据库列创建java属性

然后在hql中,您只需要用实体名替换表名,用属性名替换列名。

使用此方法。。。
createQuery()

根据表列_名称创建具有属性的java类,然后使用session.createQuery(“从_类_名称中选择*);像@实体
在此处输入代码
@table(“table_name”)公共类测试{private int id;private String name;setter/get}now。会话_object.createQuery(“从测试中选择列_名称”);