表结构:
Create TABLE DEPART{
ID NUMBER
NAME VARCHAR2
PARENT_ID NUMBER
}
数据:
ID NAME PARENT_ID
1 ROOT
2 部门1 1
3 部门2 1
4 部门11 2
5 部门22 3
6 部门111 4
7 部门1111 6
ORACLE的查询语句:
SELECT ID,NAME,PARENT_ID FROM DEPART START WITH ID=2 CONNECT BY PRIOR ID=PARENT_ID
Hibernate需要使用createSQLQuery()方法:
String queryString = "SELECT ID,NAME,PARENT_ID FROM DP START WITH ID=2 CONNECT BY PRIOR ID=PARENT_ID";
List<DepartEntity> departList = getSession().createSQLQuery(queryString).addEntity(DepartEntity.class).list();