Jpa 从查询中获取计数
我在OpenJPA2.3.0中使用mysql 5.5 我有在netbeans中生成的namedQueries实体-我希望能够使用它,例如:Jpa 从查询中获取计数,jpa,criteria,entitymanager,named-query,Jpa,Criteria,Entitymanager,Named Query,我在OpenJPA2.3.0中使用mysql 5.5 我有在netbeans中生成的namedQueries实体-我希望能够使用它,例如: @NamedQuery(name = "User.findAll", query = "SELECT u FROM User u") @NamedQuery(name = "User.findByGender", query = "SELECT u FROM User u WHERE u.gender = :gender") 我正在使用分页结果创建rest
@NamedQuery(name = "User.findAll", query = "SELECT u FROM User u")
@NamedQuery(name = "User.findByGender", query = "SELECT u FROM User u WHERE u.gender = :gender")
我正在使用分页结果创建restfull应用程序。我想返回每个页面结果的内容范围标题为1-20/250,其中20是pagesize,250总计数
我试图创建一个查询
entityManager.createNativeQuery("SELECT count(1) FROM (" + namedQuery.toString() + ") as foo;");
在这里,我可以动态插入任何命名查询并返回计数,而不返回结果列表->应该更快
当我执行此操作时,会发生异常
SQL state 42S22: Unknown column 'u' in 'field list'
在entitymanager中执行查询本身是可以的。
我是否可以使用实体管理器或条件生成器为计数结果创建查询,而不返回结果列表,也不为每个命名查询写入重复计数?谢谢您的帮助。您将JPQL与本机查询混合在一起。JPQL说从实体u中选择u,SQL将是从实体u中选择*或从实体u中选择col1、col2、col3 您可以编写一个名为查询计数的JPQL,例如,从实体u中选择COUNTu。然后,getSingleResult将返回一个对象[],其第一个元素包含计数
不是很好,但是很有效。你为什么还要查询这个号码?分页意味着下一步=最后一个索引+页面大小。如果next