是否可能拥有这样一个Spring Data JPA存储库方法:
User findByEmailOrUserName(String usernameOrEmail);
上述的方法名称不可用,因为当Spring Data JPA尝试查找需要绑定到方法的第二个参数时,会抛出异常。
我希望有一个方法名称能够转换成select t from User t where t.email = :usernameOrEmail OR t.userName = :usernameOrEmail
方法名称查询是否有这样的可能性?
User findByEmailOrUserName(String email, String userName);
来获得相同的结果,然后调用者可以将相同的参数传递两次:findByEmailOrUserName("mubin", "mubin")
或findByEmailOrUserName("mubin@so.com", "mubin@so.com")
。这样其他调用者如果需要,实际上可以使用不同的参数调用它。不过,仍然不确定传递重复参数是否是一个好主意。 - Vikas Prasad