Alguém pode me explicar esse trecho de código ?
Session sessao = new AnnotationConfiguration().configure().buildSessionFactory().openSession();
//Iniciando uma nova sessão
Transaction transaction = sessao.beginTransaction();
Alguém pode me explicar esse trecho de código ?
Session sessao = new AnnotationConfiguration().configure().buildSessionFactory().openSession();
//Iniciando uma nova sessão
Transaction transaction = sessao.beginTransaction();
Vamos por partes…
new AnnotationConfiguration().configure().buildSessionFactory() - Aqui é construída uma fábrica de sessões com base nas classes anotadas com @entity
new AnnotationConfiguration().configure().buildSessionFactory().openSession() - Com a SessionFactory criada, agora é aberta uma sessão para executar operações no bd.
sessao.beginTransaction() - Na sessão é iniciada uma transação, ou seja, se algo der errado na operação, é possível desfazer (rollback).
Para ficar mais claro podemos desmembrar o código e adicionar algumas coisas…
SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
//Iniciando uma nova sessão
Transaction transaction = sessao.beginTransaction();
try{
//Agora podemos salvar ou realizar alguma operação que necessite de transação
//Suponha que temos a entidade Cliente e queremos salvá-la
session.save(cliente);
//Se der tudo certo
transaction.commit();
} catch(HibernateException e){
//Se ocorrer algum erro no caminho
transaction.rollback();
e.printstacktrace();
}
Abrs