Secondo la mia comprensione in ibernazione (si prega di confermare)hibernate session.save() non riflette nel database
1- Devi session.close()
se si ottiene da getSessionFactory().openSession()
.
2- Non c'è bisogno di session.close()
se si ottiene da getSessionFactory().getCurrentSession()
. Viene automaticamente chiuso dopo il commit ().
3- @ 2 Quando si utilizza getSessionFactory().getCurrentSession()
, dobbiamo eseguire tutte le attività del DB all'interno di una transazione attiva in modo che possiamo commit() alla fine.
4- Hibernate en-code tutti salvare, aggiornare ed eliminare le operazioni e li sottopone al server di database solo dopo un flush() funzionamento o commettere la transazione o chiusura del sessione in cui si verificano tali operazioni. (come da javadoc)
Dai punti di cui sopra se ritengo & , quindi il seguente codice dovrebbe funzionare:
Session session = HibernateUtil.getSessionFactory().openSession();
AccountDetails ac = new AccountDetails();
//perform set operations
session.save(ac);
session.close();
System.out.println("new account stored.");
MA non funziona cioè che gira senza problemi, ma non riflette (negozio) in database.Why questo è così? Quando scrivo il codice all'interno di una transazione e commetto, allora viene memorizzato.
Penso che mi manchi una cosa di base. Si prega di precisare.
Penso che abbiate perso Transactions qui! (o da qualche parte nelle tue configurazioni) vedi il link per guidarti passo per passo http://www.laliluna.de/articles/java-persistence-hibernate/first-hibernate-example-tutorial.html –
Puoi condividere il link javadoc da punto 4? – dcernahoschi