mysql - hibernate 前 N 行 HQL 查询

标签 mysql hibernate spring hql

我正在使用以下代码通过 Hibernate 执行 HQL 查询:

String myHqlQuery = "select from MyTable where Something = ? order by SomeVal";
// Set bind values ...
getHibernateTemplate().find(myHqlQuery, bindParams);

现在,我想从表中选择前 N 行。我知道 mySql 有 HQL 中没有的 LIMIT 关键字。我还知道 Hibernate 有 setMaxResults() 方法,您可以在 Query 对象上运行。

我的问题是 - 有没有什么方法可以添加“限制”约束而不必过多更改我的代码(即通过 HibernateTemplate 对象执行查询)?

最佳答案

下面的代码对我有用

    HibernateTemplate ht = getHibernateTemplate();
    ht.setMaxResults(10);
    List<Object> obj= ht.findByNamedQueryAndNamedParam("namedQuery",
            new String[] { "parameter1" },
            new Object[] { parameter1 });

所以我认为你应该能够做到:

String myHqlQuery = "select from MyTable where Something = ? order by SomeVal";

// Set bind values ...

HibernateTemplate ht = getHibernateTemplate();

ht.setMaxResults(10);

ht.find(myHqlQuery, bindParams);

关于mysql - hibernate 前 N 行 HQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4419711/

相关文章:

java - 如何将此 MySQL 查询转换为 Hibernate 查询

spring - 将代理与 HttpComponentsClientHttpRequestFactory 和 RestTemplate 一起使用

mysql - Steam 交易机器人 - TypeError : Cannot read property '0' of undefined

php - 如何将新值插入 mysql json 数组?

java - 在 Hibernate 中创建更新返回查询

java - 如何使用 Hibernate 注释在连接表上创建索引?

java - Spring @Transactional 注解属性优先/继承

java.lang.NoClassDefFoundError : org/springframework/web/servlet/HttpServletBean : org/springframework/context/EnvironmentAware

php - 我的最终 mysql 数据库,有人可以检查一下表是否正确制作吗?

mysql - NewSQL 一降一换?