class A {Set B;}class B {Date date;}想返回date值为date1的A对象,如何写这个HQL呢?谢谢!

解决方案 »

  1.   

    你是不是想说返回包含有date1数据的A对象?A里面是个集合,不可能会单独等于一个值的。
      

  2.   

    1、A对象包含B对象的集合
    2、查询B对象的date域为date1的集合
    3、返回满足条件2的A对象集合
      

  3.   

    别费劲了,用NativeQuery 查询算了!
      

  4.   

    select * from A a where a in (select * from B b where B.date=:data1 and B.owner = a)感觉可以
      

  5.   

    select a from A a,B b where a.id = b.aid and b.date=date1试试看吧
      

  6.   

    刚才试了一下直接这样就可以了from A a where  a.B.date=date1
      

  7.   

    你要在hbm.xml文件配置上延迟加载.如:
    1.
     <class name="www.ibm.news.pojo.B" table="b"  lazy="false">2.
    Query query=session.createQuery(" from B b where b.date=date1");你这样可以得到B对象的date为date1的。
    然后在B.getA()也就可以得到了对应的A对象了。呵呵,我可以答非所问了,如果要实现那个结果,我想这样也是一种方法。
     
      

  8.   

    我也试了一下
    Query query=session.createQuery("from A a where a.B.date=date1");这个可以。