用criteria查询时,在实现两个表左关联时,如何设置子表的条件,就是下面红色部分
select A.* from A left join B on A.id=B.aid and B.name='名称'

解决方案 »

  1.   

    select A.* from A left join(select * from B where B.name='名称')B on A.id=B.aid  
      

  2.   

    不好意思,我的意思是用hibernate的criteria查询实现
      

  3.   

    /**
     * 基本Criteria查询所有
     */
    public void criteriaSearchInfo() {
    List<Users> user = null;
    SessionFactory factory = null;
    Session session = null;
    try {
    factory = HibernateUtil.getSessionFactory();
    session = factory.openSession();
    Criteria criteria = session.createCriteria(Users.class);
    user = criteria.list();
    for (Users u : user) {
    System.out.println("用户名:" + u.getName() + "密码:"
    + u.getPassword());
    }
    } catch (HibernateException e) {
    e.printStackTrace();
    } finally {
    factory.close();
    session.close();
    }
    }