GUJ
Notícias, artigos e o maior fórum brasileiro sobre Java
home
fórum
notícias
tópicos recentes
empregos
artigos
Bem-vindo ao GUJ.
Crie seu login
, ou digite-o para logar no site.
Usuário:
Senha:
Duvida definição DAO generico ?????
Índice dos Fóruns
»
Persistência: Hibernate, JPA, JDBC e outros
Autor
Mensagem
14/09/2009 11:40:03
Assunto:
Duvida definição DAO generico ?????
paribe
JWizard
Membro desde: 22/08/2004 07:34:33
Mensagens: 2057
Offline
Olá,
gostaria de não precisar passar a classe class pelo construtor na hora de chamar
a classe DAO tem como internamente achar a classe e passar sem ter que passar via
chamada ????
se alguém puder me ajuda agradeceria...
abs
--hoje como está @SuppressWarnings("unchecked") public DAO(Session session, Class persistentClass) { this.session = session; this.persistentClass = persistentClass; } --como queria que ficasse só passar a session via parametro -- e ter um jeito internamente de passar o nome da classe do DAO que estou usando -- por exemplo (UsuarioDAO que seria o objeto Usuario) @SuppressWarnings("unchecked") public DAO(Session session) { this.session = session; this.persistentClass = persistentClass; }
public class DAO<T> { private static Logger logger = Logger.getLogger(DAO.class); @SuppressWarnings("unchecked") private Class persistentClass; protected Session session; @SuppressWarnings("unchecked") public DAO(Session session, Class persistentClass) { this.session = session; this.persistentClass = persistentClass; } protected Session getSession(){ return session; } @SuppressWarnings("unchecked") public T load(Long id) throws DaoException{ logger.info("lendo " + persistentClass + " com id " + id); try{ return (T) session.load(persistentClass, id); }catch(Exception e) { throw new DaoException("Erro="+e); } } public void save(T t) throws DaoException{ logger.info("salvando " + t); try{ session.save(t); }catch(Exception e) { throw new DaoException("Erro="+e); } } public void delete(T t) { logger.info("Deletando " + t); try{ session.delete(t); }catch(Exception e) { throw new DaoException("Erro="+e); } } @SuppressWarnings("unchecked") public List<T> list() { logger.info("Listando todos"); try{ return session.createCriteria(persistentClass).list(); }catch(Exception e) { throw new DaoException("Erro="+e); } } public void merge(T t) { logger.info("Salvando ou atualizando " + t); try{ session.merge(t); }catch(Exception e) { throw new DaoException("Erro="+e); } } }
14/09/2009 11:44:57
Assunto:
Re:Duvida definição DAO generico ?????
palmadias
JavaTeenager
Membro desde: 08/07/2008 07:41:08
Mensagens: 192
Localização: São Paulo/SP
Offline
Pesquise sobre injeção de dependencia.
O framework Spring resolve isso pra vc.
abraços.
http://palmadias.blogspot.com/
Índice dos Fóruns
»
Persistência: Hibernate, JPA, JDBC e outros
Ir para:
Selecione um Fórum
Notícias
Assuntos gerais (Off-topic)
MundoJ - Artigos, Notícias e Debates
Artigos e Tutoriais
Java Básico
Java Avançado
Ferramentas, Frameworks e Utilitários
Desenvolvimento Web
Interface Gráfica
Google Android e Java Micro Edition (ME)
Certificação Java
Persistência: Hibernate, JPA, JDBC e outros
Java Enterprise Edition (Java EE)
Frameworks e Bibliotecas brasileiros
RIA - Flex, JavaFX e outros
Arquitetura de Sistemas
Metodologias de Desenvolvimento e Testes de Software
JavaScript
Ruby & Ruby on Rails
Outras Linguagens
Powered by
JForum 2.1.8
©
JForum Team