jpa包含带有列表的查询

时间:2019-05-30 12:41:18

标签: java spring-boot spring-data-jpa

我有一个名为Media的表,该表具有类型为List的“ tagList”列。我想根据输入标签列表搜索媒体。 我需要这样的方法。

List<Media> findByTagListContaining(<List> inputTagList);

这给出了错误,但

    List<Media> findByTagListContaining(String inputTag);

工作正常。如何使第一个作品。我还需要部分匹配,例如,如果任何行具有tagList [“ mentos”,“ bollywood”,“ comedy”] 而inputTagList是[“ men”,“ boll”]该行应出现的结果。

1 个答案:

答案 0 :(得分:0)

  

你好,你可以试试看。

{
 List<String> inputTagList = new ArrayList<String>();
 inputTagList.add("men");
 inputTagList.add("boll");
 findByTagListContaining(inputTagList);
}
  

调用“按标签列表查找”方法

List<Media> findByTagListContaining(List<String> inputTagList){

 String inputTagString = "[";

 for(String strTemp : inputTagList){
  //here create you own pattern matching code. Ex:
  inputTagString+= "'" + strTemp + "%'" + ",";
 }

 inputTagString+="%]";
 //And your inputTagString is ready to match you element ["mentos","bollywood","comedy"] 

}