2009-04-01 21 views
0

私は別のVOクラスのゲッターとセッターも持つVOクラスを持っています。例:Spring Hibernate SQLクエリ

Class DocumentVO{ 
    PrintJobVO job; 
    PrintRunVO run; 
    String id; 
    getters and setters.. 
} 

私は春の休止状態を使用してネイティブSQLクエリを使用する必要があります。 idsをマップしたいときは問題があります。私のクエリは、ここで

select {r.*},{d.*} 
from runs {r}, documents {d} 
where {r}.RUN_ID as {r.id} = d.RUN_ID as {d.run.id} 

runは、そのIDやその他の値を持つ型PrintRunVOのです。 SQLでそれらをどのようにマップできますか? invalid user.table.column, table.column, or column specificationのようなエラーが表示されます。

これを克服する方法は何ですか?

答えて

1

プレーンSQLクエリで結果トランスフォーマーのコンセプトを使用します。

String query = "myquery"; 
SQLQuery q = session.createSQLQuery(query); 
q.addScalar("param1", Hibernate.STRING); 
q.addScalar("param2", Hibernate.STRING); 
q.setResultTransformer(Transformers.aliasToBean(MyVO.class)); 
q.setParameter("queryParam1", "some value"); 
return q.list(); 
関連する問題