こんにちは、私は、ハイバネートのトランスフォーマーを使用して結果のクエリの非エンティティクラスを返そうとしています。非エンティティのpojoクラスを返すためのSQLトランスフォーマー
私のPOJOクラスは
Hibernateのコードは
public class TestPojo {
private String id=null;
private String companyname=null;
private String fullname=null;
private String empid=null;
private String dateallocated=null;
public TestPojo() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCompanyname() {
return companyname;
}
public void setCompanyname(String companyname) {
this.companyname = companyname;
}
public String getFullname() {
return fullname;
}
public void setFullname(String fullname) {
this.fullname = fullname;
}
public String getEmpid() {
return empid;
}
public void setEmpid(String empid) {
this.empid = empid;
}
public String getDateallocated() {
return dateallocated;
}
public void setDateallocated(String dateallocated) {
this.dateallocated = dateallocated;
}
SQLQuery query = session.createSQLQuery("select t.id as id,t.companyname as companyname,e.fullname as fullname,e.empid as empid,ca.dateallocated as dateallocated from bw_tempclientdetails t, bw_employee_details e, bw_clientallocation ca where e.empid=ca.empid and ca.companyname=t.companyname");
query.addScalar("id");
query.addScalar("companyname");
query.addScalar("fullname");
query.addScalar("empid");
query.addScalar("dateallocated");
query.setResultTransformer(Transformers.aliasToBean(TestPojo.class));
List<TestPojo> list=query.list();
ですが、私は自分のアプリケーションを実行すると、私はこのエラーを取得します。 org.hibernate.PropertyAccessException:あなたのコメントで述べたようにorg.bluewhale.model.TestPojo.id
のセッターを呼び出している間はIllegalArgumentExceptionが発生したが、ここで
解決された問題query.addScalar( "id"、Hibernate.STRING); query.addScalar( "companyname"、Hibernate.STRING); query.addScalar( "fullname"、Hibernate.STRING); query.addScalar( "empid"、Hibernate.STRING); query.addScalar( "dateallocated"、Hibernate.STRING); query.addScalar( "status"、Hibernate.STRING); query.setResultTransformer(Transformers.aliasToBean(AllocatedClients.class)); list = query.list(); よろしく! –