String hql = "from MarkAssociation ma where (SELECT DISTINCT SUBSTRING('"+className+"', 0, 3))<=(SELECT DISTINCT SUBSTRING(ma.examTime, 3, 5))";
报语句错误...
但是这个我在数据库里是正确的:
SELECT * from Mark_Association where (SELECT DISTINCT SUBSTRING('09wb1', 0, 3))<=(SELECT DISTINCT SUBSTRING(examTime, 3, 5)) 

解决方案 »

  1.   

    hql更对象化吧。form后面更的是实体类名。不是你的表名(也可一样)是从实体类中查找。而不是从表中查找
      

  2.   

    报了什么错,不行不用HQL,支持sql的
      

  3.   

    LZ 用的是SSH 吧!!!用的hibernate。。你可以直接用sql 语句,不用hql 这样比较方便以下是得到List 集合代码  用的就是sql 语句
    getSession().createSQLQuery("select * from dbo.Student").list();希望能帮到你!
      

  4.   

    虽然支持distinct但是挺影响性能的最好别用,因为指定distinct会导致在结果集中删除重复的行