直接用SQL咯select A.*,B.* from A,B where A.billcode=B.billcode
where A.billcode=B.billcode
没关系,最好别配.把用hql,自己写SQL查/
没关系的,要关联的,最好直接写语句 Query query = session.createQuery("select a,b from A a,B b where a.billCode =b.billCode"); Iterator results = query.list().iterator(); while (results.hasNext()) { Object[] row = (Object[]) results.next(); A a = (A) row[0]; B b = (B) row[1]; System.out.println("A:" + a.getId()); System.out.println("B:" + b.getId()); }
楼主【xiaomaha】截止到2008-07-06 23:33:43的历史汇总数据(不包括此帖):
发帖的总数量:56 发帖的总分数:2174
结贴的总数量:45 结贴的总分数:2024
无满意结贴数:5 无满意结贴分:350
未结的帖子数:11 未结的总分数:150
结贴的百分比:80.36 % 结分的百分比:93.10 %
无满意结贴率:11.11 % 无满意结分率:17.29 %
楼主加油
拿SQLQuery去查吧。
我觉得 这个问题你找一个hibernate的帮助文档,或者只是配置文件的帮助文档就很好解决的我做毕设的时候用过hibernate,粘出些配置给你个提示把 用户表 tbl_user 一对一 用户角色表 tbl_userrole
在POJO User中 有一个 private UserRole userRole;
在POJO UserRole中 没有 User
在User.hbm.xml中针对一对一的配置只有如下
<one-to-one name="userRole"
class="com.neu.zl.hibernate.bo.UserRole" cascade="all">
</one-to-one>
在UserRole.hbm.xml中没有 针对一对一的配置
这两个配置文件 中ID相同
<id name="userId" type="string" column="TXT_USER_ID">
</id>
<id name="userId" type="string" column="TXT_USER_ID">
</id>
应该是根据 id关联的
一对一配置中除了name class 还有别的属性,你自己查一查,看看就会了
再粘一个一对多
Employee
<set name="saleRecords" table="tbl_salerecord" inverse="true"
cascade="all">
<key column="TXT_SALERECORD_EMPLOYEEID"></key>
<one-to-many class="com.neu.zl.hibernate.bo.SaleRecord" />
</set>
SaleRecord
<many-to-one name="employee" class="com.neu.zl.hibernate.bo.Employee"
cascade="none"
insert="false" update="false"
column="TXT_SALERECORD_EMPLOYEEID">
</many-to-one>
Query query = session.createQuery("select a,b from A a,B b where a.billCode =b.billCode");
Iterator results = query.list().iterator();
while (results.hasNext()) {
Object[] row = (Object[]) results.next();
A a = (A) row[0];
B b = (B) row[1];
System.out.println("A:" + a.getId());
System.out.println("B:" + b.getId());
}