如何在有多种组合的情况下最好地使用Spring JPA findByXXX



我需要编写一个服务,该服务需要使用以下组合来查找实体:firstNamelastNamephoneNumberemailAddress

在我的服务类和存储库中,编写代码将成为一场噩梦。Permutions正在失去控制。我仍然想使用查询方法来实现这一点,但我想看看是否有更有效的方法可以做到这一点?

public interface UniversitySearchRepository extends CrudRepository<University, Long> {
public CcCase findByFirstName(
@Param("firstName") String firstName);

public CcCase findByLastName(
@Param("lastName") String lastName);

public CcCase findByEmailAddress(
@Param("emailAddress") String emailAddress);
public CcCase findByFirstNameAndLastName(
@Param("firstName") String firstName, 
@Param("lastName") String lastName);

public CcCase findByFirstNameAndEmailAddress(
@Param("firstName") String firstName, 
@Param("emailAddress") String emailAddress);

public CcCase findByLastNameAndEmailAddress(
@Param("lastName") String lastName, 
@Param("emailAddress") String emailAddress);
....

您可以尝试使用查询,例如:org.springframework.data.jpa.repository.JpaRepository#findAll(Example<S>)

相关主题:Spring Data JPA:Query by Example?

最新更新