<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Brincando com Generics: o BizarreGenericDao</title>
	<atom:link href="http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/</link>
	<description>blog dos desenvolvedores da Caelum</description>
	<pubDate>Wed, 03 Dec 2008 18:25:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>By: DAO Generico - um exemplo a pedidos at Blog do Urubatan</title>
		<link>http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-48008</link>
		<dc:creator>DAO Generico - um exemplo a pedidos at Blog do Urubatan</dc:creator>
		<pubDate>Tue, 23 Sep 2008 13:08:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-48008</guid>
		<description>[...] no blog da Caelum a um tempo atras fizeram um POST sobre um DAO genérico, meio bizarro &#8230; Bom, eu uso um DAO genérico a algum tempo, mas o meu DAO genérico tm algumas features a [...]</description>
		<content:encoded><![CDATA[<p>[...] no blog da Caelum a um tempo atras fizeram um POST sobre um DAO genérico, meio bizarro &#8230; Bom, eu uso um DAO genérico a algum tempo, mas o meu DAO genérico tm algumas features a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ronildo braga</title>
		<link>http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-37720</link>
		<dc:creator>ronildo braga</dc:creator>
		<pubDate>Thu, 08 May 2008 23:14:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-37720</guid>
		<description>Acho que fica mais elegante desta forma abaixo, e não me parece gambiarra:
public class GenericDAO implements GenericRepository{

    protected EntityManager em;
    
    public DAOImpl setEntityManager(EntityManager em){
        this.em = em;
        return (DAOImpl)this;
    }

    public void persist(T entity){
        try{
            em.persist(entity);
        }catch(PersistenceException e){
            logger.severe(CANNOT_PERSIST);
            throw new RepositoryException(e);
        }
    }
}

E para instanciar vc faz o seguinte:
new LoginDAO().setEntityManager(entityManager);

Eu também omiti a maior parte do código por questão de simplicidade, mas vc pode visualizar o restante do código no meu blog</description>
		<content:encoded><![CDATA[<p>Acho que fica mais elegante desta forma abaixo, e não me parece gambiarra:<br />
public class GenericDAO implements GenericRepository{</p>
<p>    protected EntityManager em;</p>
<p>    public DAOImpl setEntityManager(EntityManager em){<br />
        this.em = em;<br />
        return (DAOImpl)this;<br />
    }</p>
<p>    public void persist(T entity){<br />
        try{<br />
            em.persist(entity);<br />
        }catch(PersistenceException e){<br />
            logger.severe(CANNOT_PERSIST);<br />
            throw new RepositoryException(e);<br />
        }<br />
    }<br />
}</p>
<p>E para instanciar vc faz o seguinte:<br />
new LoginDAO().setEntityManager(entityManager);</p>
<p>Eu também omiti a maior parte do código por questão de simplicidade, mas vc pode visualizar o restante do código no meu blog</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paulo Silveira</title>
		<link>http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-35916</link>
		<dc:creator>Paulo Silveira</dc:creator>
		<pubDate>Wed, 16 Apr 2008 01:10:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-35916</guid>
		<description>Edson, mas qual é o problema dele gerar mais uma classe interna? E sobre nao ser a mesma classe, também não vejo problema.

De qualquer maneira, esse post aqui foi para mostrar como a linguagem é complicada, e não aconselho o uso de um DAO tão confuso assim (e isto está explícito no final do post!).</description>
		<content:encoded><![CDATA[<p>Edson, mas qual é o problema dele gerar mais uma classe interna? E sobre nao ser a mesma classe, também não vejo problema.</p>
<p>De qualquer maneira, esse post aqui foi para mostrar como a linguagem é complicada, e não aconselho o uso de um DAO tão confuso assim (e isto está explícito no final do post!).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Edson Watanabe</title>
		<link>http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-35797</link>
		<dc:creator>Edson Watanabe</dc:creator>
		<pubDate>Tue, 15 Apr 2008 03:18:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-35797</guid>
		<description>Isso dá o seguinte problema:
&lt;code&gt;
Dao dao = new Dao(session){};
Dao dao2 = new Dao(session){};
&lt;/code&gt;
Cada vez que se declara uma nova variável, cria-se uma nova classe anônima. Se você declarar 10 variáveis, vai ter 10 classes diferentes. Outra coisa chata é que:

dao.getClass().equals (dao2.getClass()) retorna false, o que é meio estranho se você simplesmente olhar a declaração.</description>
		<content:encoded><![CDATA[<p>Isso dá o seguinte problema:<br />
<code><br />
Dao dao = new Dao(session){};<br />
Dao dao2 = new Dao(session){};<br />
</code><br />
Cada vez que se declara uma nova variável, cria-se uma nova classe anônima. Se você declarar 10 variáveis, vai ter 10 classes diferentes. Outra coisa chata é que:</p>
<p>dao.getClass().equals (dao2.getClass()) retorna false, o que é meio estranho se você simplesmente olhar a declaração.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexandro</title>
		<link>http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-16810</link>
		<dc:creator>Alexandro</dc:creator>
		<pubDate>Thu, 12 Jul 2007 14:56:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-16810</guid>
		<description>Muito boa esta solução.
Estava "batendo" a cabeça a algum tempo para melhorar algumas classes genéricas em que eu tinha que passar o Class e isso resolveu o meu problema.</description>
		<content:encoded><![CDATA[<p>Muito boa esta solução.<br />
Estava &#8220;batendo&#8221; a cabeça a algum tempo para melhorar algumas classes genéricas em que eu tinha que passar o Class e isso resolveu o meu problema.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fabio Kung</title>
		<link>http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-277</link>
		<dc:creator>Fabio Kung</dc:creator>
		<pubDate>Mon, 30 Oct 2006 20:43:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-277</guid>
		<description>Realmente muito &lt;strike&gt;boa a gam&lt;/strike&gt; bom o ajuste fino!</description>
		<content:encoded><![CDATA[<p>Realmente muito <strike>boa a gam</strike> bom o ajuste fino!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricardo</title>
		<link>http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-276</link>
		<dc:creator>Ricardo</dc:creator>
		<pubDate>Mon, 30 Oct 2006 18:48:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-276</guid>
		<description>{ ops, abre e fecha chaves }</description>
		<content:encoded><![CDATA[<p>{ ops, abre e fecha chaves }</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricardo</title>
		<link>http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-275</link>
		<dc:creator>Ricardo</dc:creator>
		<pubDate>Mon, 30 Oct 2006 18:47:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/29/brincando-com-generics-o-bizarregenericdao/#comment-275</guid>
		<description>Gambiarra digna de expert :) Eu como newba apagaria todos esses abre e fecha parenteses e geraria trabalho pra mais alguns meses pra empresa hahaha</description>
		<content:encoded><![CDATA[<p>Gambiarra digna de expert <img src='http://blog.caelum.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Eu como newba apagaria todos esses abre e fecha parenteses e geraria trabalho pra mais alguns meses pra empresa hahaha</p>
]]></content:encoded>
	</item>
</channel>
</rss>
