查询方法中的Spring Data可选参数

我想在存储库层中编写一些查询方法。此方法必须忽略空参数。例如:

List<Foo> findByBarAndGoo(Bar barParam, @optional Goo gooParam);

在这种情况下,此方法必须返回Foo:

bar == barParam && goo == gooParam;

如果gooParam不为null。如果gooParam为null,则条件更改为:

bar == barParam;

有什么解决办法吗?有人能帮我吗?

回答:

不确定Bar和Goo之间的关系。检查Example是否可以帮助你。

它为我工作。我有一个类似的情况,实体用户具有属性集,并且有基于属性(可选)搜索用户的findAll方法。

例,

  Class User{

String firstName;

String lastName;

String id;

}

Class UserService{

// All are optional

List<User> findBy(String firstName, String lastName, String id){

User u = new User();

u.setFirstName(firstName);

u.setLastName(lastName);

u.setId(id);

userRepository.findAll(Example.of(user));

// userRepository is a JpaRepository class

}

}

以上是 查询方法中的Spring Data可选参数 的全部内容, 来源链接: utcz.com/qa/420441.html

回到顶部