如何创建一个Spring规范对象?



使用tkaczmarzyk arg-resolver library见这里使用我的Spring Boot/Hibernate项目我想在我的数据库中搜索。


实体:
public class Animal { 
private String color;
private String name;
... 
}

存储库类:

public inteface AnimalRepository extends JpaRepository<Animal, Long>, JpaSpecificationExecutor<Animal> {
}

我创建了一个扩展Specification的新接口:


@And({
@Spec(params = "color", spec = Equal.class),
@Spec(params = "name", spec = Equal.class)
})
public interface AnimalSearch extends Specification<Animal> {
}

现在我想在某个方法中做这样的事情:

public void myMethod() {
AnimalSearch search; /* here is my question. How can I create some kind of object with 2 parameters: color and name for the interface?*/
Collection<Animal> animalsFiltered = animalRepository.findAll(search);
// etc
}

我是否需要创建一个,比方说,像这样的类:

public class AnimalSearchObject implements AnimalSearch {
private String color;
private String name;
...
}

:

AnimalSearchObject search = new AnimalSearchObject("my_color", "my_name");
Collection<Animal> animalsFiltered = animalRepository.findAll(search);

还是有更简单的方法?

不能这样做。tkaczmarzyk arg-resolver library有助于只映射请求中收到的参数。我所要求的不能使用这个库

相关内容

最新更新