| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2004 12:16:11
|
marcelomartins
Moderador
![[Avatar]](/images/avatar/777669af68dbccabc30c3b6bcaa81825.jpg)
Membro desde: 07/01/2004 10:53:19
Mensagens: 1477
Localização: Porto Alegre - RS
Offline
|
Olá a todos, venho novamente recorrer a este belo forum.
Estou com uma dúvida que esta tirando meu sono. Estou desenvolvendo um sistema utilizando Struts + Hibernate e eu gostaria que minha camada de negocios ficasse independente, assim como estou utilizando o Velocity para fazer a camada de apresentação independente. Ai, voltando a camada de negócios, eu pensei em implementar o Facade (que eu conheco e já utilizei em outros projetos sem o struts e com EJB), pra ligar os actions do Struts as minhas classes de negocio, mas muitas duvidas me surgiram
1) Como vou fazer isso? eu não quero usar EJB, somente servlets, e JavaBeans.
2) Eu achei muito estranho eu fazer uma chamada ao facade e criar uma classe de negocio pra fazer uma listagem de uma tabela com o hibernate, por exemplo, para fazer simplesmente
Cat fritz = (Cat) sess.load(Cat.class, generatedId);
e por o objeto fritz na sessao para o velocity eu ter que fazer uma chamada ao facade e a classe de negocios.
Alguem poderia me dar uma luz? , eu acho que tenho os conceitos mas não to sabendo juntar tudo! hehe.
Outras dúvidas que eu tenho, onde eu iria pegar a sessao do hibernate, dentro do action do struts ou dentro das minhas classes de negocios? E a ultima pergunta, eu tenho minhas classes que são persistidas pelo hibernate, é certo eu colocar TODAS as regras do meu sistema junto com essas classes, por exemplo, na minha classe que será persistida chamada Cliente é certo eu ter toda a regra de negocio relacionada com cliente junto com ela? ou o certo é eu usar as classes de persistencia somente para isso e criar outras classes do tipo VerificaInadimplencia ao invéz de fazer um método verificaInadimplencia() dentro da classe Cliente?
bem.. era "só" isso! agradeço ajuda
Marcelo Martins
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2004 13:42:28
|
ricardolecheta
GUJ Master
![[Avatar]](/images/avatar/b59c67bf196a4758191e42f76670ceba.jpg)
Membro desde: 17/05/2003 13:42:10
Mensagens: 1486
Localização: Curitiba
Offline
|
o hibernate funciona legal com o pattern DAO e ThreadLocalSession...
http://www.hibernate.org/42.html
sobre a persistencia a classe do hibernate que contem os atributos para a tabela deve ter só os get/set....
a lógica fica fora desta classe, onde as classes de negócios farao o acesso ao hibernate através de um DAO.
e na Action do Struts chama-se uma classe de Negocios que contera os metodos da aplicação e que chamam os DAO's para acesso a base.
no DAO vc usa o pattern ThreadLocalSession para utilizar sempre a mesma session do hibernate.
e eu tb nunca fecho a session no DAO, eu fecho apenas na Action do Struts.... e como o pattern ThreadLocal me garante que eu sempre estarei utilizando a mesma session, fica perfeito.
Ai no fim da Action (eu tenho uma classe abstrata que minhas Actions implementam....), eu controle a Transação, fazendo rollback ou commit...
|
Ricardo R. Lecheta
Livro - Google Android (português)
http://www.livroandroid.com.br/
http://livroandroid.blogspot.com/
http://www.livetouch.com.br/ |
|
|
 |
|
|
|
|