本帖最后由 doudoubeer 于 2013-06-08 14:28:11 编辑

解决方案 »

  1.   


    left join, A表中的一条记录在B表中对应为一条或零条.目前配置为
    @OneToOne( cascade = {CascadeType.REFRESH})
        @JoinColumn(name="instanceId" )
    private FlowBusiness flowBusiness;
    然而查询出的List<A>中每个元素并不是A,
    List<A>.get(0)获取到的对象是一个Object[] obj, obj[0]是B实例,obj[1]才是A实例,很奇怪
      

  2.   

    已解决.SimpleHibernateTemplate自己对查询方法的实现有误.
    捂脸
      

  3.   

    其实原因是自己对Hibernate操作很不熟悉.
    有SubCriteria情况下,在使用Criteria.setProjection-rowCount获取总条数后,需要把projection设置为之前的,c.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);这样才不会导致查到结果为Object[]