假设我有一个表格users
,其属性为id
,first_name
,last_name
,username
,email
,phone
,status
(由枚举定义的ACTIVE
或DELETED
)。
key
是我要在表中搜索的参数。
这是我的服务
public void userService(String key){
UserRepository userRepository ;
List<Users> userList = userRepository.findByStatusNotAndFirstName
ContainingOrLastNameContainingOrEmailContainingOrPhoneContaining
(Status.DELETED, key, key, key, key);
}
这是我的资料库
public interface UserRepository extends JpaRepository<User, Long> {
List<Users> findByStatusNotAndFirstNameContainingOrLastNameContainingOr
EmailContainingOrPhoneContaining(Status deleted, String key, String key,
String key, String key);
}
这是在查询中使用And和Or的正确方法吗?
答案 0 :(得分:0)
首先,应该为存储库类创建与内存数据库的集成测试。因此,您可以尝试查询是否返回正确的结果。
即使您可以在方法名称中定义多个“ or”和“ and”运算符,阅读和理解也很混乱。我建议创建一个名称可读的方法,并使用org.springframework.data.jpa.repository.Query批注定义JPA查询。