有没有试过
SELECT max(emp_id) as emp_id FROM recruit_info

解决方案 »

  1.   

    单纯对于数据库而言 这样写是没有错的SELECT max(emp_id) FROM recruit_info
      

  2.   

    org.hibernate.dialect.MySQLDialect
    org.hibernate.dialect.MySQL5Dialect
    试过,还是一样的。
      

  3.   


    确实,但是公司要mysql的免费,郁闷。
      

  4.   

    mysql驱动:mysql-connector-java-5.0.3-bin.jar 
      

  5.   

    hql就没有错的,完全可以这么写!不知道是不是其他方面的原因
    SELECT max(emp_id) FROM recruit_info我的一个语句:select count(user) from User user 都是可以正常计算出个数来的。
    int i = ((Number) sess.createQuery(sql1)).list().iterator().next()).intValue();i的取值都能很正常
      

  6.   


    我的是createSQLQuery,直接对数据库的表操作的,没用用到映射的
      

  7.   

             String sql = "select concat('emp',date_format(now(),'%Y%m%d'),lpad(ifnull(max(substring(emp_id,12,3)),0)+1,3,'0'))" +
                    " from recruit_info " +
                    " where emp_id like concat('emp',date_format(now(),'%Y%m%d'),'%')";
    我的目的是要,实现这样的查询。上面的sql直接在mysql query browser,和直接用jdbc连接下,都通过测试。
      

  8.   


    这2个不一样。User user ,recruit_info .
      

  9.   

    mysql 中max使用那样子是没有问题的
    估计还是你hibernate那里配置有问题吧
      

  10.   

    关注   sql语句是这样写的,我也说不清楚问题在哪
    顺便顶一下
      

  11.   

    这是单纯的通过sql语句访问数据库,oracle没问题,sql就出现上述问题,hibernate也不指定哪里配错了。