当我在Hibernate Query中使用带有setMaxResults()和setFirstResult()的case语句时,它显示错误的记录。例如,我的查询是
select code, text
from dropDownTable
where (code like '%meter%' or text like '%meter%')
order by case
when text like 'meter%' or code like 'meter%' then 0
when text like '%meter' or code like '%meter' then 2 else 1
end
现在我在Hibernate Query中使用setMaxResults(fetchSize)
和setFirstResult(fetchSize*fetchCount)
。当fetchCount大于1时,它显示相同的记录。
我没有意识到当我们设置起始索引时,为什么它显示在该索引之前的记录。请帮我解决这个问题。以下是我的java代码:
Query managerQuery = session.createSQLQuery(dynamicQuery);
managerQuery.setMaxResults(fetchSize);
managerQuery.setFirstResult(fetchSize * fetchCount);
returnList = managerQuery.setResultTransformer(insensitiveAliasTransformer).list();