java - JPQL 限额查询

标签 java jpa-2.0 limit jpql

如何限制 JPQL 命名查询的选择查询?我需要在查询级别本身而不是在 java 层中完成限制!!! 我正在尝试使用

@NamedQueries(value = {
        @NamedQuery(name = UserNotification.QueryName.NOTIFICATION_DISPLAYED,
                    query = "SELECT un FROM UserNotification un " +
                            "WHERE un.orgId IN (:orgList) " +
                            "AND un.user.id = :userId LIMIT 5")

但徒劳无功!!!

请推荐

最佳答案

JPQL 不提供限制查询的机制。这通常通过在 Query 上使用 setMaxResults() 方法来实现。如果您必须避免在 Java 代码中指定这一点,您可以在数据库中创建一个包含您的查询并执行限制的 View 。然后将实体映射到此 View ,就像映射表一样。

例子:

List<String> resultList= query.setMaxResults(100).getResultList();

关于java - JPQL 限额查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20679237/

相关文章:

r - 如何将三角形添加到 R 中的 ggplot2 颜色条以指示超出范围的值?

java - 可以将 jaxb 对象转换为 org.w3c.dom.Element 吗?

Java:相当于Python的str.format()

eclipse - 在一个persistence.xml中包含多个持久性单元标签

java - 如何使用 JPA 2 标准查询计算年龄?

MySQL "Error Code: 1118. Row size too large (> 8126)"

c++ - 通用(构建)系统上 C/C++ 标识符的最大长度是多少?

java - 使用AsyncTask上传图像不成功

java - 为什么java不支持多重继承

postgresql - JPA Postgres 使用默认值插入 Bit(4)