数据库有2张表不如分别为:A表和B表 他们通过billCode 查询数据 但他们没任何关联关系有相同列为billCode通过数据库2表分别生成2个POJO类为 A、B要求:通过billCode = '100001' 查询一次 返回2表的所有列的结果如何配置XML文件 one-to-one?麻烦帮帮我!详细点最好!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【xiaomaha】截止到2008-07-06 23:33:43的历史汇总数据(不包括此帖):
    发帖的总数量:56                       发帖的总分数:2174                     
    结贴的总数量:45                       结贴的总分数:2024                     
    无满意结贴数:5                        无满意结贴分:350                      
    未结的帖子数:11                       未结的总分数:150                      
    结贴的百分比:80.36 %               结分的百分比:93.10 %                  
    无满意结贴率:11.11 %               无满意结分率:17.29 %                  
    楼主加油
      

  2.   

    两个表根本没关系怎么一对一啊?
    拿SQLQuery去查吧。
      

  3.   


    我觉得 这个问题你找一个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>
      

  4.   

    直接用SQL咯select A.*,B.* from A,B where A.billcode=B.billcode
      

  5.   

                 where A.billcode=B.billcode
      

  6.   

    没关系,最好别配.把用hql,自己写SQL查/
      

  7.   

    没关系的,要关联的,最好直接写语句
    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());
    }