bin*_*iam 6 java spring-data spring-data-jpa spring-boot
我想在我的存储库中编写一个 finder 方法来查找基于一个字段或另一个字段的对象,同时提供一个参数,例如:
@RepositoryDefinition(domainClass = Person.class, idClass = Long.class)
public interface PersonRepository extends CrudRepository<Person, Long> {
List<Person> findAllByIdOrAnotherId(someId);
}
Run Code Online (Sandbox Code Playgroud)
如何在不使用 SQL 的情况下做到这一点?
我向该方法添加了第二个参数并且它起作用了。
List<Transaction> findAllByIdOrParentId(Long id, Long parentId);
Run Code Online (Sandbox Code Playgroud)
这只是方法的定义,因为我将相同的参数从服务传递给方法,如下所示:
List<Transaction> transactions = transactionRepository.findAllByIdOrParentId(transactionId, transactionId);
Run Code Online (Sandbox Code Playgroud)
Spring Data JPA 的一大优点是您可以在界面中将自定义查询定义为抽象方法。
简而言之,您只需指定@Entity要查询的字段名称即可定义新的搜索条件。那么,假设我想findAll()通过Id和CustomId。和Id都是CustomId我的域类中的字段。我会做:
List<Person> findAllByIdOrCustomId(someId, someCustomId);
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请研究以下链接: Spring Data JPA - 定义查询方法
| 归档时间: |
|
| 查看次数: |
16545 次 |
| 最近记录: |