Forma correctas de fazer funções, e suas vantagens

2 respostas
P

bom dia maltas,

pessoal estou com grande duvidas, estou iniciando em portlet em java.

estou pensando qual seria a melhor forma de fazer as funções insert, update, delete e select.

da forma como estou querendo fazer (codigo em baixo), ou usar os nomes das tabelas nas funções.

e quais são as respectivas vantagens de cada um, um grande obrigado.

public class DataAccess {
	
	
	// insert for all table
	public void insertObjecto(Object obj) {

		SessionFactory sessionFactory = new Configuration().configure()
				.buildSessionFactory();
		Session session = sessionFactory.openSession();
		
		try {
			session.beginTransaction();
			session.save(obj);

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			session.getTransaction().commit();
			session.close();
			sessionFactory.close();
		}
	}
	
	
	// update for all table
	public void updateObjecto1(Object obj) {

		SessionFactory sessionFactory = new Configuration().configure()
				.buildSessionFactory();
		Session session = sessionFactory.openSession();
		
		try {
			session.beginTransaction();
			session.save(obj);

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			session.getTransaction().commit();
			session.close();
			sessionFactory.close();
		}
	}
	
	
	// delete for all table
	public void deleteObjecto(Object obj) {

		SessionFactory sessionFactory = new Configuration().configure()
				.buildSessionFactory();
		Session session = sessionFactory.openSession();
		
		try {
			session.beginTransaction();
			session.save(obj);

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			session.getTransaction().commit();
			session.close();
			sessionFactory.close();
		}
	}
	
	
	public ArrayList<Object> getObject(Object obj){
		
		SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
		Session session = sessionFactory.openSession();
		
		ArrayList<Object> listObject = new ArrayList<Object>(); 
		
		try {
			Query q = session.createQuery("From "+obj);
			listObject = (ArrayList<Object>) q.list();			
			
		} catch (Exception e) {
			e.printStackTrace();			
		} finally {
			session.close();
			sessionFactory.close();			
		}		
		
		return listObject;		
	}

}

2 Respostas

fabiomedeirosf

Já pensou em usar o pattern DAO com estrutura genérica?

Fiz uns posts sobre isto no meu blog, dê um look lá, acho que pode ser útil pra vc: http://serjava.blogspot.com.br/2011/12/persistencia-jpa-dao-generico.html

Hebert_Coelho

fabiomedeirosf:
Já pensou em usar o pattern DAO com estrutura genérica?

Fiz uns posts sobre isto no meu blog, dê um look lá, acho que pode ser útil pra vc: http://serjava.blogspot.com.br/2011/12/persistencia-jpa-dao-generico.html

Realmente o melhor modo de se fazer é utilizar DAO Genérico implementando generics.

Caso você queira mais exemplo fala que eu te mando. [=

Criado 25 de abril de 2012
Ultima resposta 25 de abr. de 2012
Respostas 2
Participantes 3