Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将子查询插入到条件查询中_Java_Postgresql_Hibernate_Spring Mvc_Spring Boot - Fatal编程技术网

Java 将子查询插入到条件查询中

Java 将子查询插入到条件查询中,java,postgresql,hibernate,spring-mvc,spring-boot,Java,Postgresql,Hibernate,Spring Mvc,Spring Boot,此方法: public List<User> exampleForSO(int size, int page, boolean name, boolean email) { Criteria criteria = getSession().getCurrentSession().createCriteria(User.class); if (name) { criteria.add(Restrictions.isNotE

此方法:

  public List<User> exampleForSO(int size, int page, boolean name, boolean email) {

        Criteria criteria = getSession().getCurrentSession().createCriteria(User.class);

        if (name) {
            criteria.add(Restrictions.isNotEmpty("name"));
        }

        if (email) {
            criteria.add(Restrictions.isNotEmpty("email"));
        }

        criteria.setMaxResults(size);
        criteria.setFirstResult(page);

        List<User> users = criteria.list();

        return users;
    }
我如何实现这个查询

Hibernate: select this_.name as y0_, this_.id as y1_, COUNT(*) OVER() as overallCount from users this_ where this_.id is not null limit ? offset ?
基本上,我想在查询中添加这一小行:

COUNT(*) OVER() as overallCount
有什么建议吗

这个问题可以用分离的标准来解决吗

我所尝试的:

  • 创建DetachedCriteria并将其作为子查询添加到实际的条件查询,这不是一个选项,我不想要子查询

  • 生成一个RawSQL字符串并尝试将其注入查询,但未成功


  • 以防有人试图达到同样的目的

    我就是这样做的:

    我在用户类中创建了一个字段,如下所示:

    @Formula("COUNT(*) OVER()")
    private Long overallCount;
    
    你可以阅读更多关于

    @Formula("COUNT(*) OVER()")
    private Long overallCount;