<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentarios en: iBATIS vs Hibernate</title>
	<atom:link href="http://www.javisjava.com/blog/ibatis-vs-hibernate/feed" rel="self" type="application/rss+xml" />
	<link>http://www.javisjava.com/blog/ibatis-vs-hibernate</link>
	<description>Las últimas noticias y opiniones sobre el mundo de la programación.</description>
	<lastBuildDate>Wed, 03 Mar 2010 15:58:15 +0100</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: xcom</title>
		<link>http://www.javisjava.com/blog/ibatis-vs-hibernate/comment-page-1#comment-7632</link>
		<dc:creator>xcom</dc:creator>
		<pubDate>Thu, 31 Dec 2009 22:10:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.javisjava.com/blog/?p=50#comment-7632</guid>
		<description>Cual es la version estable de ibates</description>
		<content:encoded><![CDATA[<p>Cual es la version estable de ibates</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jose angel</title>
		<link>http://www.javisjava.com/blog/ibatis-vs-hibernate/comment-page-1#comment-7595</link>
		<dc:creator>jose angel</dc:creator>
		<pubDate>Tue, 24 Nov 2009 10:35:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.javisjava.com/blog/?p=50#comment-7595</guid>
		<description>Hola,

Actualmente estoy usando este framework en un proyecto J2EE muy grande que tiene una parte en Host (Mainframe Z10) y una parte en distribuido, un cluster de servidores. El problema es que la misma aplicación que en el Host responde perfectamente, en el distribuido sólo es capaz de lanzar las queries una vez. Cachea el resultado y sólo responde si los datos de entrada son los mismos que los de la primera petición.

¿Alguien se ha enfrentado alguna vez a un problema similar? ¿Me podéis orientar en este tema?</description>
		<content:encoded><![CDATA[<p>Hola,</p>
<p>Actualmente estoy usando este framework en un proyecto J2EE muy grande que tiene una parte en Host (Mainframe Z10) y una parte en distribuido, un cluster de servidores. El problema es que la misma aplicación que en el Host responde perfectamente, en el distribuido sólo es capaz de lanzar las queries una vez. Cachea el resultado y sólo responde si los datos de entrada son los mismos que los de la primera petición.</p>
<p>¿Alguien se ha enfrentado alguna vez a un problema similar? ¿Me podéis orientar en este tema?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: christian</title>
		<link>http://www.javisjava.com/blog/ibatis-vs-hibernate/comment-page-1#comment-7536</link>
		<dc:creator>christian</dc:creator>
		<pubDate>Sun, 08 Nov 2009 04:41:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.javisjava.com/blog/?p=50#comment-7536</guid>
		<description>Gracias por la ayuda Javier, me sirvio bastante y como dices IBATIS es bastante potente, con esta herramienta se me hace todo facil. Muchas gracias nuevamente.</description>
		<content:encoded><![CDATA[<p>Gracias por la ayuda Javier, me sirvio bastante y como dices IBATIS es bastante potente, con esta herramienta se me hace todo facil. Muchas gracias nuevamente.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: javier</title>
		<link>http://www.javisjava.com/blog/ibatis-vs-hibernate/comment-page-1#comment-7535</link>
		<dc:creator>javier</dc:creator>
		<pubDate>Sat, 07 Nov 2009 20:29:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.javisjava.com/blog/?p=50#comment-7535</guid>
		<description>Las consultas dinámicas se explican en un capítulo completo de la documentación de iBATIS (actualmente en la página 49).

Dispones de la etiqueta &lt;code&gt;&lt;dynamic&gt;&lt;/code&gt;, dentro de la cual puedes incluir una serie de etiquetas condicionales, de forma que la SQL final que se construye en cada ejecución dependerá de los valores de los parámetros que se pasan.

Pongamos un ejemplo con los datos que das. Imagina que tienes un HashMap en el que, en cierto momento de tu código se pueden introducir o no los siguientes pares clave-valor.
&lt;code&gt;
Map&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;();
if (condition) {
&#160;&#160;&#160;&#160;map.put(&quot;name&quot;, &quot;Javier&quot;);
&#160;&#160;&#160;&#160;map.put(&quot;age&quot;, new Integer(32));
}
// pasamos el mapa como parámetro a una consulta de iBATIS
&lt;/code&gt;

Una consulta que haría uso de la información de &lt;code&gt;name&lt;/code&gt; y &lt;code&gt;age&lt;/code&gt; sólo en los supuestos que dices, sería:
&lt;code&gt;
&lt;select id=&quot;dynamicSelectUser&quot; result-class=&quot;com.javisjava.model.User&quot;&gt;
&#160;&#160;&#160;&#160;select * from User
&#160;&#160;&#160;&#160;&lt;dynamic prepend=&quot;where&quot;&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;isEmpty property=&quot;name&quot; prepend=&quot;and&quot;&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; name = #name#
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/isEmpty&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;isGreaterThan prepend=&quot;and&quot; property=&quot;age&quot; compareValue=&quot;0&quot;&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;age = #age#
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/isGreaterThan&gt;
&#160;&#160;&#160;&#160;&lt;/dynamic&gt;
&lt;/select&gt;
&lt;/code&gt;

Si &lt;code&gt;condition&lt;/code&gt; es &lt;code&gt;false&lt;/code&gt; la SQL será:
&lt;code&gt;
select * from User
&lt;/code&gt;
Si es &lt;code&gt;true&lt;/code&gt;:
&lt;code&gt;
select * from User where name = &#039;Javier&#039; and age = 32
&lt;/code&gt;
Mírate bien la &lt;a href=&quot;http://svn.apache.org/repos/asf/ibatis/java/ibatis-2/trunk/ibatis-2-docs/en/&quot; rel=&quot;nofollow&quot;&gt;documentación&lt;/a&gt;, y verás que iBATIS es bastante potente en cuanto a la creación de consultas dinámicas.</description>
		<content:encoded><![CDATA[<p>Las consultas dinámicas se explican en un capítulo completo de la documentación de iBATIS (actualmente en la página 49).</p>
<p>Dispones de la etiqueta <code>&lt;dynamic&gt;</code>, dentro de la cual puedes incluir una serie de etiquetas condicionales, de forma que la SQL final que se construye en cada ejecución dependerá de los valores de los parámetros que se pasan.</p>
<p>Pongamos un ejemplo con los datos que das. Imagina que tienes un HashMap en el que, en cierto momento de tu código se pueden introducir o no los siguientes pares clave-valor.<br />
<code><br />
Map<string , Object> map = new HashMap</string><string , Object>();<br />
if (condition) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;map.put(&quot;name&quot;, &quot;Javier&quot;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;map.put(&quot;age&quot;, new Integer(32));<br />
}<br />
// pasamos el mapa como parámetro a una consulta de iBATIS<br />
</string></code></p>
<p>Una consulta que haría uso de la información de <code>name</code> y <code>age</code> sólo en los supuestos que dices, sería:<br />
<code><br />
&lt;select id="dynamicSelectUser" result-class="com.javisjava.model.User"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;select * from User<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;dynamic prepend="where"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;isEmpty property="name" prepend="and"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = #name#<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/isEmpty&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;isGreaterThan prepend="and" property="age" compareValue="0"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;age = #age#<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/isGreaterThan&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/dynamic&gt;<br />
&lt;/select&gt;<br />
</code></p>
<p>Si <code>condition</code> es <code>false</code> la SQL será:<br />
<code><br />
select * from User<br />
</code><br />
Si es <code>true</code>:<br />
<code><br />
select * from User where name = 'Javier' and age = 32<br />
</code><br />
Mírate bien la <a href="http://svn.apache.org/repos/asf/ibatis/java/ibatis-2/trunk/ibatis-2-docs/en/" rel="nofollow">documentación</a>, y verás que iBATIS es bastante potente en cuanto a la creación de consultas dinámicas.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Christian</title>
		<link>http://www.javisjava.com/blog/ibatis-vs-hibernate/comment-page-1#comment-7534</link>
		<dc:creator>Christian</dc:creator>
		<pubDate>Fri, 06 Nov 2009 16:03:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.javisjava.com/blog/?p=50#comment-7534</guid>
		<description>Hola, estoy empezando a trabajar con ibatis, me parece muy fácil de usar y de aprender, pero me he estancado con algo, no se como hacer una consulta dinamica, es decir, si mapeo una consulta y en el where pongo los valores que tengo en el hasmap que le paso como parametro tendria que usarlos todos, pero yo solo quiero usar los que tengan un valor diferente de &quot;&quot; en el caso de los string y &gt;0 en el caso de numeros. Como puedo solucionar esto??</description>
		<content:encoded><![CDATA[<p>Hola, estoy empezando a trabajar con ibatis, me parece muy fácil de usar y de aprender, pero me he estancado con algo, no se como hacer una consulta dinamica, es decir, si mapeo una consulta y en el where pongo los valores que tengo en el hasmap que le paso como parametro tendria que usarlos todos, pero yo solo quiero usar los que tengan un valor diferente de &#8220;&#8221; en el caso de los string y &gt;0 en el caso de numeros. Como puedo solucionar esto??</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Carlos</title>
		<link>http://www.javisjava.com/blog/ibatis-vs-hibernate/comment-page-1#comment-7511</link>
		<dc:creator>Carlos</dc:creator>
		<pubDate>Sun, 24 May 2009 20:27:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.javisjava.com/blog/?p=50#comment-7511</guid>
		<description>Decidí comenzar a aprender el framework ibatis antes que hibernate, y creo que fue buena decisión. El libro de ibatis in action es muy bueno. Es bastante simple comenzar, y la flexibilidad al poder optimizar las consultas lo hacen muy potente..., sencillo y potente..</description>
		<content:encoded><![CDATA[<p>Decidí comenzar a aprender el framework ibatis antes que hibernate, y creo que fue buena decisión. El libro de ibatis in action es muy bueno. Es bastante simple comenzar, y la flexibilidad al poder optimizar las consultas lo hacen muy potente&#8230;, sencillo y potente..</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Cristian Montes</title>
		<link>http://www.javisjava.com/blog/ibatis-vs-hibernate/comment-page-1#comment-7509</link>
		<dc:creator>Cristian Montes</dc:creator>
		<pubDate>Thu, 19 Mar 2009 15:52:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.javisjava.com/blog/?p=50#comment-7509</guid>
		<description>Hola a todos, bueno vengo trabajando con ambos frameworks hace bastante tiempo, y por mi experiencia, pues les puedo decir que yo llevo la filosofia: &quot;Usar solo lo mejor de cada uno&quot;, asi que dependiendo del caso se adecua el uso que quieras darle, por ejemplo hago convivir ambos, cuando se trata de consultas grandes uso ibatis y en mantenimientos simples hibernate, y asi dependiendo del caso, es mas si usan spring te provee capas para poder cambiar el tipo de acceso a la BD, si te cierras a trabajar con solo un framework te obligas a trabajar con solo uno de ellos y en temas de performance siempre vas a tener algun inconveniente y hacer algo extraño por ahi. Asi que yo voto por la complementacion de ambos, a proposito, creo que vi por ahi, que con hibernate se olvidan de las consultas sql?? no es cierto pq igual te provee una clase para que puedas usar sql nativo, obviamente, tienes que tener en claro el mapeo y como quieres obtener los objetos...... hay mucho por hablar pero creo que no es tema de este hilo.</description>
		<content:encoded><![CDATA[<p>Hola a todos, bueno vengo trabajando con ambos frameworks hace bastante tiempo, y por mi experiencia, pues les puedo decir que yo llevo la filosofia: &#8220;Usar solo lo mejor de cada uno&#8221;, asi que dependiendo del caso se adecua el uso que quieras darle, por ejemplo hago convivir ambos, cuando se trata de consultas grandes uso ibatis y en mantenimientos simples hibernate, y asi dependiendo del caso, es mas si usan spring te provee capas para poder cambiar el tipo de acceso a la BD, si te cierras a trabajar con solo un framework te obligas a trabajar con solo uno de ellos y en temas de performance siempre vas a tener algun inconveniente y hacer algo extraño por ahi. Asi que yo voto por la complementacion de ambos, a proposito, creo que vi por ahi, que con hibernate se olvidan de las consultas sql?? no es cierto pq igual te provee una clase para que puedas usar sql nativo, obviamente, tienes que tener en claro el mapeo y como quieres obtener los objetos&#8230;&#8230; hay mucho por hablar pero creo que no es tema de este hilo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Onasis</title>
		<link>http://www.javisjava.com/blog/ibatis-vs-hibernate/comment-page-1#comment-7502</link>
		<dc:creator>Onasis</dc:creator>
		<pubDate>Wed, 07 Jan 2009 17:31:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.javisjava.com/blog/?p=50#comment-7502</guid>
		<description>Hola...

En mi caso tuve la oportunidad de usar Ibatis primero en un proyecto en C#, me pereció todo normal hasta que me crucé con Hibernate en Java... Lo primero que pregunté fue ¿Y las sentencias SQL? pues ahí casi todo es una caja negra.


Saludos!!!</description>
		<content:encoded><![CDATA[<p>Hola&#8230;</p>
<p>En mi caso tuve la oportunidad de usar Ibatis primero en un proyecto en C#, me pereció todo normal hasta que me crucé con Hibernate en Java&#8230; Lo primero que pregunté fue ¿Y las sentencias SQL? pues ahí casi todo es una caja negra.</p>
<p>Saludos!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: javier</title>
		<link>http://www.javisjava.com/blog/ibatis-vs-hibernate/comment-page-1#comment-7463</link>
		<dc:creator>javier</dc:creator>
		<pubDate>Sun, 28 Sep 2008 18:52:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.javisjava.com/blog/?p=50#comment-7463</guid>
		<description>Tienes dos opciones. La primera es pasar como parámetro a la ejecución iBATIS de la consulta un objeto (de clase Usuario en tu caso) que contenga como propiedades los parámetros que quieras utilizar en la SQL. Las propiedades de la clase Java Usuario deben tener el nombre que pones entre almohadillas, y métodos de acceso (get y set).
La segunda opción, para casos más complejos, es pasar un HashMap, donde el nombre entre almohadillas deberá coincidir entonces con las claves de los valores que desees pasar como argumentos a la consulta.
En este caso, la opción clara es la primera.
De todas formas, esto lo tienes en el PDF de la documentación de iBATIS bastante bien explicado. El &lt;a href=&quot;http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-2/ibatis-2-docs/es/iBATIS-SqlMaps-2-Tutorial_es.pdf&quot; rel=&quot;nofollow&quot;&gt;tutorial&lt;/a&gt; está incluso traducido al castellano.</description>
		<content:encoded><![CDATA[<p>Tienes dos opciones. La primera es pasar como parámetro a la ejecución iBATIS de la consulta un objeto (de clase Usuario en tu caso) que contenga como propiedades los parámetros que quieras utilizar en la SQL. Las propiedades de la clase Java Usuario deben tener el nombre que pones entre almohadillas, y métodos de acceso (get y set).<br />
La segunda opción, para casos más complejos, es pasar un HashMap, donde el nombre entre almohadillas deberá coincidir entonces con las claves de los valores que desees pasar como argumentos a la consulta.<br />
En este caso, la opción clara es la primera.<br />
De todas formas, esto lo tienes en el PDF de la documentación de iBATIS bastante bien explicado. El <a href="http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-2/ibatis-2-docs/es/iBATIS-SqlMaps-2-Tutorial_es.pdf" rel="nofollow">tutorial</a> está incluso traducido al castellano.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Anónimo</title>
		<link>http://www.javisjava.com/blog/ibatis-vs-hibernate/comment-page-1#comment-7455</link>
		<dc:creator>Anónimo</dc:creator>
		<pubDate>Sat, 13 Sep 2008 22:47:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.javisjava.com/blog/?p=50#comment-7455</guid>
		<description>Hola , como se puede  hacer queries en ibatis con  mas de un parametro?

o no  se puede?



	
	
	
	
	
		
				
	
	
	
	
		select * from user 
		 WHERE nomuser = #nomuser# 
		 and passuser = #passuser#
	
	

Esto arroja  error.....</description>
		<content:encoded><![CDATA[<p>Hola , como se puede  hacer queries en ibatis con  mas de un parametro?</p>
<p>o no  se puede?</p>
<p>		select * from user<br />
		 WHERE nomuser = #nomuser#<br />
		 and passuser = #passuser#</p>
<p>Esto arroja  error&#8230;..</p>
]]></content:encoded>
	</item>
</channel>
</rss>
