Blindage en cas d'incohérence de la bdd
This commit is contained in:
@@ -11,6 +11,7 @@ import javax.ejb.TransactionManagement;
|
|||||||
import javax.ejb.TransactionManagementType;
|
import javax.ejb.TransactionManagementType;
|
||||||
import javax.persistence.EntityManager;
|
import javax.persistence.EntityManager;
|
||||||
import javax.persistence.NoResultException;
|
import javax.persistence.NoResultException;
|
||||||
|
import javax.persistence.NonUniqueResultException;
|
||||||
import javax.persistence.PersistenceContext;
|
import javax.persistence.PersistenceContext;
|
||||||
import javax.persistence.Query;
|
import javax.persistence.Query;
|
||||||
import javax.transaction.UserTransaction;
|
import javax.transaction.UserTransaction;
|
||||||
@@ -115,12 +116,14 @@ public class UserManagerBean implements IUserManager{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public User getByEmail(String email){
|
public User getByEmail(String email){
|
||||||
try {
|
|
||||||
Query query = em.createQuery("from User where email=?");
|
Query query = em.createQuery("from User where email=?");
|
||||||
query.setParameter(1, email);
|
query.setParameter(1, email);
|
||||||
|
try {
|
||||||
return (User) query.getSingleResult();
|
return (User) query.getSingleResult();
|
||||||
} catch (NoResultException e) {
|
} catch (NoResultException e) {
|
||||||
return null;
|
return null;
|
||||||
|
} catch (NonUniqueResultException e){
|
||||||
|
return (User) query.getResultList().get(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user