<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Borba on Software &#187; nhibernate</title>
	<atom:link href="http://borba.blog.br/tag/nhibernate/feed/" rel="self" type="application/rss+xml" />
	<link>http://borba.blog.br</link>
	<description>Desenvolvendo Software com Qualidade.</description>
	<lastBuildDate>Thu, 19 Aug 2010 19:39:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>O que não ajuda, atrapalha&#8230;</title>
		<link>http://borba.blog.br/2009/06/o-que-nao-ajuda-atrapalha/</link>
		<comments>http://borba.blog.br/2009/06/o-que-nao-ajuda-atrapalha/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 11:42:00 +0000</pubDate>
		<dc:creator>Luiz Borba</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[nhibernate]]></category>

		<guid isPermaLink="false">http://metralhadoralord2.wordpress.com/2009/06/20/o-que-nao-ajuda-atrapalha/</guid>
		<description><![CDATA[Trabalhei esses últimos dias fazendo uma otimização de uma rotina escrita em C# e que usava NHibernate. Uma das mudanças que fiz foi fazer um bulk delete de uma certa entidade. Quis o destino que eu encontrasse um método delete com uma assinatura que recebia uma query. Perfeito! Fiz a minha parte: sessao.Delete&#40;&#34;FROM Ocorrencia WHERE [...]]]></description>
			<content:encoded><![CDATA[<p>Trabalhei esses últimos dias fazendo uma otimização de uma rotina escrita em C# e que usava NHibernate. Uma das mudanças que fiz foi fazer um <span style="font-style:italic;">bulk delete</span> de uma certa entidade. Quis o destino que eu encontrasse um método delete com uma assinatura que recebia uma query. Perfeito!</p>
<p>Fiz a minha parte:</p>
<p><code class="codecolorer csharp default"><span class="csharp">sessao<span style="color: #008000;">.</span><span style="color: #0000FF;">Delete</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;FROM Ocorrencia WHERE ...&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></span></code></p>
<p>Não é que o maldito NHibernate ao invés de simplesmente criar a query de remoção, executa uma query de consulta, monta todos as entidades (no caso, Ocorrencia) e depois dá delete de um por um?</p>
<p>Por que diabos alguém em seu juízo perfeito escreveria um método tão estúpido quanto esse? Se eu já quero apagar esses objetos porque carrega-los na memória, consumindo o meu já escasso tempo de processamento?</p>
<p>Fica a lição: NÃO PROGRAME POR COINCIDÊNCIA. Não é apenas porque um método tem a assinatura perfeita que ele vai ser a solução do seu problema. LEIA A DOCUMENTAÇÃO. Certifique-se que está fazendo a coisa certa, ou caso contrário você vai se dar muito mal.</p>
]]></content:encoded>
			<wfw:commentRss>http://borba.blog.br/2009/06/o-que-nao-ajuda-atrapalha/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
