我需要运行以下HQL查询:
select top 1000 ent from MyEntity ent Where ....
但它在令牌1000上抱怨。 如何在HQL中为MSSQL 2008手动设置限制?
答案 0 :(得分:1)
HQL查询中不支持限制运算符。 你有2个解决方案:
使用hql:
Query q = session.createQuery("FROM MyEntity where ...");
q.setFirstResult(1);
q.setMaxResults(1000);
使用nativeQuery:
Query q = session.createNativeQuery("SELECT * FROM MyEntity where ... lIMIT 0, 1000");