如何在我的存储库中编写此查询
**这是我的sql查询**
select user, email, mot_de_passe
from utilisater
where (user='....' or email='...') and mot_de_passe= '...'
我尝试这样做
@Repository("UtilisateurRepo")
public interface UtilisateurRepo extends JpaRepository<Utilisateur,String> {
Utilisateur findByUserOrEmailAndMdp(String user, String mail, String mdp);
}
但是得到了不同的结果,就像我正在写的一样:
select user, email, mot_de_passe
from utilisater
where user='....' or email='...' and mot_de_passe= '...'
为了可维护性,我将编写以下自定义查询:
@Query("SELECT u FROM utilisater u WHERE (u.user='....' OR u.email='...') AND u.mot_de_passe= '...'")
查询是明确的,对于未来的维护者来说不会有任何歧义。由于您要返回单个实体,因此您需要保证 where 子句中的三个属性之间具有一定的唯一性。