Bisogna vedere cosa ritorna il metodo findByEmail quando non ci sono corrispondenze. Ritorna null oppure un oggetto UserTO con i valori interni settati a null? Le due cose sono diverse. Dalla stampa in console che hai scritto sembra che si verifichi il secondo caso. Ad ogni modo in entrambi i casi il confronto che tu fai è errato. Se il metodo ritorna null, il confronto va eseguito così:
Codice PHP:
UserTO userTO = new UserTO();
UserDAO userDAO= new UserDAO();
if(userDAO.findByEmail("stefania@ciao.it") == null ){
userTO.setNome("nome");
userTO.setCognome("cognome");
userTO.setEmail("stefania@ciao.it");
userDAO.create(userTO);
}
Se invece ritorna un oggetto UserTO con i valori "interni" nulli allora devi confrontare ogni singolo campo:
Codice PHP:
UserTO userTO = new UserTO();
UserDAO userDAO= new UserDAO();
UserTO searchUserResult = userDAO.findByEmail("stefania@ciao.it");
if(searchUserResult.getNome()==null
&& searchUserResult.getCognome()==null
&& searchUserResult.getEmail()==null
&& searchUserResult.getId()==0){
userTO.setNome("nome");
userTO.setCognome("cognome");
userTO.setEmail("stefania@ciao.it");
userDAO.create(userTO);
}