首页 > 解决方案 > 如何在spring jpa中使用规范设置标准获取模式?

问题描述

我需要实现一个动态查询,为此我正在使用 org.springframework.data.jpa.domain.Specification 接口。例如:

 public class PlayerSpecification {

   public static Specification<Player> name(String name{
        return (root, criteraQuery, criteriaBuilder)-> 
            criteriaBuilder.equal(root.get("name"), name);
    }

    public static Specification<Player> teamName (String teamName){
        return (root, criteraQuery, criteriaBuilder)-> 
            criteriaBuilder.equal(root.get("team").get("name"), teamName);
    }
}

我想在标准中设置 JOIN FETCH。就像是:

criteraQuery.setFetchMode("teams", FetchMode.EAGER);

有谁知道该怎么做?

标签: jpaspring-data-jpahibernate-criteria

解决方案


我不确定实体的样子,但应该是:

root.fetch( "teams" );

请参阅文档中的 Hibernate ORM获取示例


推荐阅读