hibernate-mapping 如何映射关联查询中被关联表的字段?
以下代码,我实例化后的list,t2的两个字段( t2.id2, t2.name2)全是null,而该语句放在pl/sql里搜出来字段都是有值的。请问原因是不是t1.hbm.xml没有对t2的映射?该怎么改?
public List<t1> findT1() {
     String strSql = "SELECT t1.*, t2.id2, t2.name2 FROM t1 LEFT JOIN t2 ON t1.id1=t2.id2
";
     Session oSess = this.getHibernateTemplate().getSessionFactory().openSession();
     SQLQuery oQuery = oSess.createSQLQuery(strSql);
     oQuery = oQuery.addEntity(t1.class);
     List list = oQuery.list();
     oSess.close();
     return list;
}
public class t1 implements java.io.Serializable {
      private static final long serialVersionUID = 1L;
      private Integer id1;
      private String name1;
      private Integer id2;
      private String name2;
      ( 各种get & set ……)
}
t1.hbm.xml中只映射了t1的字段,不知道该怎么映射t2的表和字段
  <hibernate-mapping>
   <class name="com.bean.t1" table="T1">
         <id name="id1" type="integer">
             <column name="ID1" precision="22" scale="0" />
             <generator class="native" />
         </id>
         <property name="name1" type="string">
             <column name="NAME2" />
         </property>
      </class>
</hibernate-mapping>
------解决方案--------------------
另外建一个中间类,比如是 QueryT1T2.java
public class QueryT1T2 implements java.io.Serializable {
    private static final long serialVersionUID = 1L;
    private Integer id1;
    private String name1;
    private Integer id2;
    private String name2;   
   getters & setters……  
  }
查询时:
createSqlQuery(Sql).addScalar("id1").addScalar("name1").addScalar("id2").addScalar("name2")
把字段一个一个加进去