<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Padrao de Design para Struts + Hibernate"]]></title>
		<link>http://www.guj.com.br/posts/list/12.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Padrao de Design para Struts + Hibernate"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Padrao de Design para Struts + Hibernate</title>
				<description><![CDATA[ Olá a todos, venho novamente recorrer a este belo forum.<br /> <br /> 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<br />   1) Como vou fazer isso? eu não quero usar EJB, somente servlets, e JavaBeans.<br />   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 <br />      Cat fritz = (Cat) sess.load(Cat.class, generatedId);<br /> e por o objeto fritz na sessao para o velocity eu ter que fazer uma chamada ao facade e a classe de negocios.<br /> <br />   Alguem poderia me dar uma luz? <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0">, eu acho que tenho os conceitos mas não to sabendo juntar tudo! hehe.<br /> <br />   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?<br /> <br />   bem.. era "só" isso!  agradeço ajuda <br /> <br /> <img src="http://www.guj.com.br/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0"><br /> <br /> Marcelo Martins]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/8403/43813/padrao-de-design-para-struts--hibernate
</guid>
				<link>http://www.guj.com.br/prepost/8403/43813/padrao-de-design-para-struts--hibernate
</link>
				<pubDate><![CDATA[Wed, 7 Jan 2004 12:16:11]]> GMT</pubDate>
				<author><![CDATA[ marcelomartins]]></author>
			</item>
			<item>
				<title></title>
				<description><![CDATA[ o hibernate funciona legal com o pattern DAO e ThreadLocalSession...<br /> <a class="snap_shots" href="http://www.hibernate.org/42.html" target="_blank" rel="nofollow">http://www.hibernate.org/42.html</a><br /> <br /> sobre a persistencia a classe do hibernate que contem os atributos para a tabela deve ter só os get/set....<br /> <br /> a lógica fica fora desta classe, onde as classes de negócios farao o acesso ao hibernate através de um DAO.<br /> <br /> 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.<br /> <br /> no DAO vc usa o pattern ThreadLocalSession para utilizar sempre a mesma session do hibernate.<br /> <br /> 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. <br /> <br /> Ai no fim da Action (eu tenho uma classe abstrata que minhas Actions implementam....), eu controle a Transação, fazendo rollback ou commit...]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/8403/43847/
</guid>
				<link>http://www.guj.com.br/prepost/8403/43847/
</link>
				<pubDate><![CDATA[Wed, 7 Jan 2004 13:42:28]]> GMT</pubDate>
				<author><![CDATA[ ricardolecheta]]></author>
			</item>
	</channel>
</rss>
