Spring-Hibernate如何对复杂查询进行软删除/过滤

时间:2019-07-17 09:40:05

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

我使用Spring Data JPA和Hibernate尝试实现软删除。我看到的所有示例都很简单,where子句就像布尔检查一样。我需要的是例如软删除所有狗,例如,如果它们的品种在被禁止的品种列表中。我有一个动态列表:

List<String> bannedBreedsComesFromPropertiesFile = Arrays.asList("beagle", "terrier", "dalmation")

然后回购:

public interface DogRepository extends CrudRepository<Dog, Integer> {

   findAllBy....
   findAllBy...
   findAllBy... 
   ....
} 

因此品种筛选器应适用于上述所有findAll方法。

然后我想使用DB中的这些犬种来实现软删除/过滤:

  @Entity
  @Where(clause="breed != Not in list bannedBreedsComesFromPropertiesFile")

  public class Dog{


  @Column(name="breed")
  private String breed;

 }

我该如何实现?如果存在,我找不到正确的语法。

0 个答案:

没有答案