2017-07-24 53 views
0

我有一个包含多个表的实体,与一对多关联:JPA CrudRepository在搜索列表中选择

@Entity 
public class Data { 

    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) 
    private List<Tool> toolList= new ArrayList<Tool>(); 

    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) 
    private List<Level> levelList = new ArrayList<Level>(); 
} 

我想编写一个@Query在CrudRepository选择包含在列表中的数据项toolList工具的子集(List子集)。我很确定这是否可行。

+0

你的控制器你想创建一个自定义回购?并将其附加到您的粗俗存储库? –

+0

不,在我的CrudRepository中,我想添加一个自定义查询的方法。但是从我的toolList我想检查一个subsetToolList中的元素是否在toolLits中,然后我返回数据。 –

回答

0

接口

public interface Repository extends CrudRepository<Data, Integer //or your primary key>{ 

     @Query(value = "write the jpql query") 
     eg - @Query(value = "select s.studentname from StudentEntity s where s.age > 20") 
     List<String> query(); 

} 

在服务

@Transactional 
public class Service { 

    private final Repository repository; 

    public Service(Repository repository){ 
     this.repository = repository; 
    } 


    public List<String> query(){ 
     return repository.query();  
    } 

} 

现在使用的服务使用自动装配Autowired

+0

我不确定查询是否可能,这是我的问题。 –

+0

我已经使用它请chexk这个回购https://github.com/rahulrsingh09/Spring-Boot-DataJPA –