没有一个人进来看看 ,,你们在做系统的时候,,都是单表查询吗?
稍微复杂点的SQL都没有吗?

解决方案 »

  1.   

    如果不能有hql觖决,不是可以session.createSQLQuery(sql),来对sql语句直接的操作吗
      

  2.   

    session.createSQLQuery(sql)
    这个写法,必须有一个实体类去实例化数据结果,然而还需要一个hbm.xml文件,,我只想返回我需要的组合字段,以一个Object[]形式就行了。。
    而我的结果是几个表的数据字段。。createSQLQuery这种方法试过了,如果这个查询结果和我数据库的表一样,那么可以,。。
      

  3.   

    顶一下,但是SPRING实在不是很会
      

  4.   

    用面向对象的技术来实现面向过程的需求,是很难一步到位的。HQL跟SQL不是一回事。
      

  5.   

    其实对于复杂SQL建议你还是不要用HQL,你可以使用Session.getNamedQuery(queryName)的方法,然后在hbm.xml文件写上的SQL,并把返回的列名对应pojo的属性进行Mapping就可以了。Hibernate可以对Table进行Mapping,也可以只对返回的字段进行Mapping。如果你不想写hbm.xml文件,可以用Hibernate的Annotation进行Mapping,用Annotation对返回字段的Mapping会更加方便。
      

  6.   

    对于复杂的SQL还是不要用HQL转了,如果你只是想要一些结果,可以考虑把sql写在hbm.xml的properties中的formula里。formula (optional): an SQL expression that defines the value for a computed property. Computed properties do not have a column mapping of their own.
      

  7.   

    首先,hibernate用createSQLQuery查询时是可以返回数组的.
    再者,对于过于复杂的查询语句,可考虑建view,hibernate3.x是支持view的