Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.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 如何让前5个元素休眠_Java_Spring_Hibernate_Spring Boot - Fatal编程技术网

Java 如何让前5个元素休眠

Java 如何让前5个元素休眠,java,spring,hibernate,spring-boot,Java,Spring,Hibernate,Spring Boot,我有一个很长的对象,所以为了使系统更快,我决定在“get”服务检索时只显示“Attention”属性中的前5个元素(而不是显示所有元素) 我有一份出席人数列表,但有一种方式可以说,只有前5名(在列表中)才能获得,当我从“细节”服务中获得结果时,我将拥有所有的ITEN @ManyToMany private List<Attendance> attendance; @manytomy 私人名单出席情况; 编写一个自定义repository,注入entitymanager并使用如下查询

我有一个很长的对象,所以为了使系统更快,我决定在“get”服务检索时只显示“Attention”属性中的前5个元素(而不是显示所有元素)

我有一份出席人数列表,但有一种方式可以说,只有前5名(在列表中)才能获得,当我从“细节”服务中获得结果时,我将拥有所有的ITEN

@ManyToMany
private List<Attendance> attendance;
@manytomy
私人名单出席情况;

编写一个自定义repository,注入entitymanager并使用如下查询:

entityManager.createQuery("Select a from Enity e join e.attendence a")
             .setMaxResults(5)
             .getResultList();

甚至您也可以通过Hibernate标准执行以下操作:

public List findByLimit(Class persistentClass, String orderproperty, int limit)
    {
        Session session = getSession(); // Get Session here 
        try
        {
            Criteria criteria = session.createCriteria(persistentClass);
            criteria.addOrder(Order.desc(orderproperty));
            criteria.setMaxResults(limit);
            criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
            return criteria.list();

        }
        catch (RuntimeException re)
        {
            //Catch exception 
        }
        finally
        {
            //close the session
        }
    }
现在调用上述函数:

findByLimit(Example.class,id,5);  // here id is your order property 

您使用的是spring数据jpa吗?我使用的是spring boot(他使用的是spring存储库),我正在寻找相同的符号,比如
@manytomy(maxResult=5)
@FabioPicheli,我认为通过注释是不可能的,但我用一个连接查询更新了答案,它明确地起到了作用。对于非jpa解决方案,请参见此处:。