Zmiana w metodzie save()

0

W jaki sposób powinienem przerobić metode:

 
public boolean save(User user){
		
            	session.beginTransaction();
		session.save(user)
		session.getTransaction().commit();
		session.close();
                return true;	
}

Tak żeby zwracała true jezeli obiekt zostanie zapisany do bazy danych i false jezeli nie ?
Jezeli zostawie tak zwraca true jezeli obiekt sie zapisze ale jezeli nie nie zwraca nic.

0

zapewne gdy nie zwraca nic leci wyjątek. Wystarczy go obsłużyć i w catch zwrócić false.

0

Niestety nie leci wyjątek. Myślę ,że dlatego ponieważ

 
<h:form
 
<p:inputText id="inpLogin" value="#{gameBean.user.login}"
styleClass="entryField" required="true">
<f:validateLength minimum="2" />
</p:inputText>
 
<p:commandButton id="buttonAddUser" styleClass="buttons"
action="#{gameBean.addNewUser()}" value="Dodaj uzytkownika">
</p:commandButton>
 
</h:form>

W polach mam required="true" i nie dzieje sie zupełnie nic po kliknieciu przycisku dodaj.
O ile sie nie myle taka sytuacja powinna wyswietlac w konsoli fakt ze uzytkownik podal puste pole ale sie tak nie dzieje. Moze źle stworzyłem tego walidatora ?

0

w ogóle to próbowałeś zatrzymać się w tej metodzie debuggerem? może wyjątek leci ale ty go nie łapiesz i to jest problemem. Spróbuj:

 
public boolean save(User user){
  try {
        session.beginTransaction();
        session.save(user)
        session.getTransaction().commit();
        session.close();
        return true;    
  } catch (Exception e) {
        e.printStackTrace();
  } 
   return true;
}

a może po prostu jeżeli wpisujesz błedne dane (przypadek w którym metoda powinna zwrócić false), po prostu ta metoda nie jest wykonywana.

1 użytkowników online, w tym zalogowanych: 0, gości: 1