Bom dia galera,
Sou iniciante em hibernate, andei pegando todos os tutoriais do google inclusive os do GUJ, e lendo a propria documentacao do hibernate…
Bem… a principio estou me baseando no tutorial mais simples que vi do proprio GUJ aonde se basea em criar a Classe Amigos e a AmigosDAO para me basear futuramente nas minhas classes DAO.
O problema é que o hibernate em que o tutorial se baseava era o hibernate 2 acredito eu, entao tive q fazer umas modificaçoes. Comparando outros tutoriais isolados para faze-la funcionar com o Hibernate 3. Tambem adaptei o conceito de uma classe Static para liberar a SessionFactory que consta na doc do hibernate.
Gostaria que pessoa mais experientes analizassem e me dessem sua opiniao se este é o melhor jeito, e/ou o jeito correto de se fazer!!!
Desde já agradeço atenção!!!
Segue o código!!!
import java.util.List;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;
import util.HibernateUtil;
public class AmigoDAO{
private SessionFactory factory;
public AmigoDAO() {}
public void insert(Amigo amigo) throws Exception{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx=session.beginTransaction(); ;
session.save(amigo);
session.flush();
tx.commit();
session.close();
}
public java.util.List getList(String condicao) throws Exception{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List amigos = session.createQuery(condicao).list();
session.getTransaction().commit();
return amigos;
}
public Amigo retrieve(String pk) throws Exception{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Amigo amigo = (Amigo) session.load(Amigo.class, pk);
return amigo;
}
public void delete(Amigo amigo) throws Exception{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.delete(amigo);
session.flush();
session.close();
}
}