Hibernate 3 で Java を使用しています。
次のようなSQLがあります。
select sd3.id as id_3, sd2.id as id_2, sd1.id as id_1, od.id as id_0 from developer as sd3
left outer join developer as sd2 on sd3.sr_developer_id = sd2.id
left outer join developer as sd1 on sd2.sr_developer_id = sd1.id
left outer join developer as od on sd1.sr_developer_id = od.id
where sd3.id = 812
セルフジョインの場合です。
テーブル構造は次のようになります。
デベロッパー
id | sr_developer_id
---------------------
812 | 463
463 | 8
8 | NULL
上記のクエリの出力は次のとおりです。
id_3 | id_2 | id_1 | id_0
--------------------------
812 | 463 | 8 | NULL
ここで、このクエリを HQL または条件で変換したいと考えています。誰でも私を助けることができますか?
編集 :-
開発者.java
private long id;
private long srDeveloperID;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public long getSrDeveloperID() {
return srDeveloperID;
}
public void setSrDeveloper(long srDeveloperID) {
this.srDeveloperID = srDeveloperID;
}
Developer.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping >
<class name="com.beans.Developer" table="developer">
<id name="id" column="id" type="long">
<generator class="native"/>
</id>
<property name="srDeveloperID" column="sr_developer_id" type="long"></property>
</class>
</hibernate-mapping>