我有表1 user 表2 userinfo 
user表中有3行数据 userinfo 有2行数据 关联外键了String hql="select u from TUserinfo as ui left join  ui.TUser as u  "; 为什么只能查到两表都有的数据,
而user表中 未关联的一行数据查不到,是否是我配置文件有错?<many-to-one name="TUser" class="com.xhce.pojo.TUser" fetch="join" lazy="false"  >
            <column name="userId" unique="true" />
        </many-to-one>
<set name="TUserinfos" inverse="true" lazy="false" cascade="all" outer-join="true">
            <key>
                <column name="userId"  unique="true"/>
            </key>
            <one-to-many class="com.xhce.pojo.TUserinfo" />
        </set>
      

解决方案 »

  1.   

      貌似你这sql语句都没写完????
      

  2.   

    left join 
    左关联。顾名思义就是显示左边中的所有记录,当右表中的记录对应不到左表是,则不显示。
      

  3.   

    String hql="select u from TUser as u left join u.TUserinfos"; 
    应该是这样吧, TUser 为左表
      

  4.   

    String hql="select u from TUserinfo as ui left join ui.TUser as u ";  改为 
    String hql="select u from TUserinfo as ui right join ui.TUser as u ";  
      

  5.   

    left join以左边的表为主,也就是你的TUserinfo表,里面的数据将会全部查出
    右面的表TUser,为空的数据不会显示