DAO genérico  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Vanderbill
JavaChild

Membro desde: 28/08/2006 14:33:11
Mensagens: 109
Offline

tenho a seguinte interface


entao vms supor q eu tenha 2 classes DAO(ClienteDao, EmprestimoDao) que implementam essa interface.
como fazer para que o objeto desejado seja Cliente quando estiver usando a ClienteDao, ou que ele seja Emprestimo quando estiver usando EmprestimoDao.

desde ja agradeco a atenção, caso minha duvida nao esteja clara me avisem.

vlws! t+!
kicolobo
Moderador
[Avatar]

Membro desde: 19/07/2006 14:11:09
Mensagens: 1188
Localização: Belo Horizonte
Offline

Você pode fazer algo como


http://devkico.itexto.com.br

Twitter: http://www.twitter.com/loboweissmann

Vamos aprender Grails?
http://www.grailsbrasil.com.br
[WWW] [MSN] [ICQ]
marciobarroso
Virtual Machine Man
[Avatar]

Membro desde: 13/05/2005 23:17:13
Mensagens: 508
Localização: Barueri / SP / BR
Offline

Que tal isso :



Mais informações a respeito vide :
http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/
http://blog.caelum.com.br/2006/08/26/ei-como-e-o-seu-dao-ele-e-tao-abstraido-quanto-o-meu/

[]'s
[Email] [WWW] [MSN]
kicolobo
Moderador
[Avatar]

Membro desde: 19/07/2006 14:11:09
Mensagens: 1188
Localização: Belo Horizonte
Offline

A do Marcio é ainda melhor!

http://devkico.itexto.com.br

Twitter: http://www.twitter.com/loboweissmann

Vamos aprender Grails?
http://www.grailsbrasil.com.br
[WWW] [MSN] [ICQ]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

O mito do DAO genérico. Para que fazer isso se existe o Hibernate?
Até o pessoal do .NET tem algo mais esperto que um DAO genérico, que é o tal do LINQ for SQL.


[WWW]
Vanderbill
JavaChild

Membro desde: 28/08/2006 14:33:11
Mensagens: 109
Offline

nossa kra vlw mesmo ficou muito bom...um dao pra todo mundo agora!!!!! =D
mas to com umas duvidas

1 -pq eu tenho que colocar esse <T> na frente da classe??
2- o que é exatamente esse<T>?? é da sintaxe do generic???

}

mas vlw mesmo ficou muito bom.
Vanderbill
JavaChild

Membro desde: 28/08/2006 14:33:11
Mensagens: 109
Offline

nao entendi thingol. estou usando o hiberntate, mas porque nao precisaria do DAO??

malz a ignorancia, pq sou novo em java e agora que estou comecando a usar patterns e talz.
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

O DAO é um famoso "design pattern", mas como todo bom "design pattern", não é algo que deva ser seguido a ferro e fogo. Se você pode usar uma tecnologia que dispense isso (como é o caso do Hibernate), use-a. No seu caso, você está misturando Hibernate e DAOs, e ainda fazendo um "DAO genérico". Acho que no caso do Hibernate só o misturaria com DAOs se eu tivesse de mexer num sistema já existente, que é movido a DAOs.


[WWW]
Vanderbill
JavaChild

Membro desde: 28/08/2006 14:33:11
Mensagens: 109
Offline

entendi. o que vc quiz dizer agora =)
Vanderbill
JavaChild

Membro desde: 28/08/2006 14:33:11
Mensagens: 109
Offline

Vanderbill wrote:tenho a seguinte interface


entao vms supor q eu tenha 2 classes DAO(ClienteDao, EmprestimoDao) que implementam essa interface.
como fazer para que o objeto desejado seja Cliente quando estiver usando a ClienteDao, ou que ele seja Emprestimo quando estiver usando EmprestimoDao.

desde ja agradeco a atenção, caso minha duvida nao esteja clara me avisem.

vlws! t+!
marciobarroso
Virtual Machine Man
[Avatar]

Membro desde: 13/05/2005 23:17:13
Mensagens: 508
Localização: Barueri / SP / BR
Offline

O thingol quis dizer que ao invés de você ter mais uma camada somente para o hibernate e o seu dao, você pode simplesmente efetuar as chamadas ao Hibernate da sua classe de negócio.

Ex.:


[]'s
[Email] [WWW] [MSN]
Zakim
JavaEvangelist
[Avatar]

Membro desde: 21/07/2005 09:25:24
Mensagens: 482
Localização: Cuiabá - MT
Offline

Se o DAO é genérico então sua solução deve ser genérica certo?


GENERICS



http://zakim.blogspot.com - Zakim
Sun Certified Java Programmer

Comece pequeno, pense grande e cresça rápido!
[Email] [MSN]
agazola
What is classpath?

Membro desde: 25/04/2008 20:47:28
Mensagens: 9
Offline

Ah, eu não acho legal chamar código do Hibernate diretamente das classes de negócio... o DAO ajuda a isolar o código do Hibernate do código da sua aplicação... Acho mais recomendável, utilizar uma interface conveniente para sua camada de persistência (DAO) e implementar essa interface do jeito que quiser (usando Hibernate ou nao).

Seguem alguns artigos sobre o assunto:

http://www.ibm.com/developerworks/java/library/j-genericdao.html

http://www.ibm.com/developerworks/java/library/j-pop1/

http://www.ibm.com/developerworks/java/library/j-pop2/

abraços

Alexandre Gazola
"Que aproveita ao homem ganhar o mundo inteiro e perder a sua alma?" (Mc 8:36)
Vanderbill
JavaChild

Membro desde: 28/08/2006 14:33:11
Mensagens: 109
Offline


Zakim
Post 09/05/2008 08:17:15 Assunto: ReAO genérico
Se o DAO é genérico então sua solução deve ser genérica certo?



zakim desculpe mas nao entendi o que vc quiz dizer poderia ser mais claro??

e eu concordo com o agazola, classes de negocio devem ter somente ter getters/setters e seu construtor. isto na minha opniao =)
agazola
What is classpath?

Membro desde: 25/04/2008 20:47:28
Mensagens: 9
Offline

classes de negocio devem ter somente ter getters/setters e seu construtor


Esse artigo fala um pouco sobre isso: http://fragmental.com.br/wiki/index.php?title=Fantoches

Eu gosto da definição do PoEAA (p. 134) que separa "lógica de negócio" em duas:

- lógica de domínio: componentes que tem a ver apenas com o domínio do problema, implementam as regras de negócio
- lógica de aplicação componentes que tem a ver com a infra-estrutura da aplicação, com a tecnologia

No caso, a camada de serviços e os daos se encaixariam na lógica de aplicação...

abraços

Alexandre Gazola
"Que aproveita ao homem ganhar o mundo inteiro e perder a sua alma?" (Mc 8:36)
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team