如何限制 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/