<?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/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	
	>
<channel>
	<title>
	Comentarios en: Operaciones básicas	</title>
	<atom:link href="https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/</link>
	<description>Software Architect &#38; FullStack developer</description>
	<lastBuildDate>Thu, 21 Mar 2019 21:08:47 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.5.5</generator>
	<item>
		<title>
		Por: oblancarte		</title>
		<link>https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-812</link>

		<dc:creator><![CDATA[oblancarte]]></dc:creator>
		<pubDate>Thu, 21 Mar 2019 21:08:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.oscarblancarteblog.com/?p=1110#comment-812</guid>

					<description><![CDATA[En respuesta a &lt;a href=&quot;https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-811&quot;&gt;Oscar L.&lt;/a&gt;.

Hola, revisa dentro del archivo &lt;code&gt;persistence.xml&lt;/code&gt; el valor de la propiedad &lt;code&gt;javax.persistence.schema-generation.database.action&lt;/code&gt;, seguramente está en &lt;code&gt;drop-and-create&lt;/code&gt;]]></description>
			<content:encoded><![CDATA[<p>En respuesta a <a href="https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-811">Oscar L.</a>.</p>
<p>Hola, revisa dentro del archivo <code>persistence.xml</code> el valor de la propiedad <code>javax.persistence.schema-generation.database.action</code>, seguramente está en <code>drop-and-create</code></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Oscar L.		</title>
		<link>https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-811</link>

		<dc:creator><![CDATA[Oscar L.]]></dc:creator>
		<pubDate>Thu, 21 Mar 2019 20:07:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.oscarblancarteblog.com/?p=1110#comment-811</guid>

					<description><![CDATA[En respuesta a &lt;a href=&quot;https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-272&quot;&gt;Oscar Blancarte&lt;/a&gt;.

Me ocurre exactamente igual que a Berta, al introducir los datos en la base de datos, si ya existian datos eran eliminados y solo quedaba el ingresado, nuevamente al hacer otra inserción el dato nuevo reemplaza al anterior en la base de datos; en mi caso pasa si ejecuto una vez la aplicación e ingreso los datos uno a uno o si ejecuto la aplicación luego de cada ingreso.
Agradezco la ayuda!]]></description>
			<content:encoded><![CDATA[<p>En respuesta a <a href="https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-272">Oscar Blancarte</a>.</p>
<p>Me ocurre exactamente igual que a Berta, al introducir los datos en la base de datos, si ya existian datos eran eliminados y solo quedaba el ingresado, nuevamente al hacer otra inserción el dato nuevo reemplaza al anterior en la base de datos; en mi caso pasa si ejecuto una vez la aplicación e ingreso los datos uno a uno o si ejecuto la aplicación luego de cada ingreso.<br />
Agradezco la ayuda!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Oscar Blancarte		</title>
		<link>https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-272</link>

		<dc:creator><![CDATA[Oscar Blancarte]]></dc:creator>
		<pubDate>Thu, 21 Feb 2019 18:30:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.oscarblancarteblog.com/?p=1110#comment-272</guid>

					<description><![CDATA[En respuesta a &lt;a href=&quot;https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-271&quot;&gt;Berta&lt;/a&gt;.

Para guarda el nuevo empleado ejecutas nuevamente la aplicacion? O guardas todos en la misma ejecución?]]></description>
			<content:encoded><![CDATA[<p>En respuesta a <a href="https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-271">Berta</a>.</p>
<p>Para guarda el nuevo empleado ejecutas nuevamente la aplicacion? O guardas todos en la misma ejecución?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Berta		</title>
		<link>https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-271</link>

		<dc:creator><![CDATA[Berta]]></dc:creator>
		<pubDate>Thu, 21 Feb 2019 18:21:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.oscarblancarteblog.com/?p=1110#comment-271</guid>

					<description><![CDATA[&lt;p&gt;Al introducir un nuevo empleado me borra los empleados que tengo en la base de datos. Sabes porque?&lt;/p&gt;
]]></description>
			<content:encoded><![CDATA[<p>Al introducir un nuevo empleado me borra los empleados que tengo en la base de datos. Sabes porque?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Oscar Blancarte		</title>
		<link>https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-270</link>

		<dc:creator><![CDATA[Oscar Blancarte]]></dc:creator>
		<pubDate>Thu, 17 Jan 2019 15:45:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.oscarblancarteblog.com/?p=1110#comment-270</guid>

					<description><![CDATA[En respuesta a &lt;a href=&quot;https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-269&quot;&gt;Luis Carlos&lt;/a&gt;.

Los drivers XA son para transacciones distribuidas, es decir, cuando transaccionamos con más de una base de de datos, ha esto se le conoce como 2 Phase commit  o Commit de dos fases, puedes leer más sobre esto en &lt;a href=&quot;https://www.oscarblancarteblog.com/2014/09/19/data-base-2phase-commit-en-ambientes-distribuidos/&quot; rel=&quot;nofollow&quot;&gt;mi articulo&lt;/a&gt;. El otro driver (&lt;code&gt;oracle.jdbc.pool.OracleDataSource&lt;/code&gt;) no me suena tanto, tendrías que revisar la documentación oficial para entender para que se utiliza.]]></description>
			<content:encoded><![CDATA[<p>En respuesta a <a href="https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-269">Luis Carlos</a>.</p>
<p>Los drivers XA son para transacciones distribuidas, es decir, cuando transaccionamos con más de una base de de datos, ha esto se le conoce como 2 Phase commit  o Commit de dos fases, puedes leer más sobre esto en <a href="https://www.oscarblancarteblog.com/2014/09/19/data-base-2phase-commit-en-ambientes-distribuidos/" rel="nofollow">mi articulo</a>. El otro driver (<code>oracle.jdbc.pool.OracleDataSource</code>) no me suena tanto, tendrías que revisar la documentación oficial para entender para que se utiliza.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Luis Carlos		</title>
		<link>https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-269</link>

		<dc:creator><![CDATA[Luis Carlos]]></dc:creator>
		<pubDate>Thu, 17 Jan 2019 09:40:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.oscarblancarteblog.com/?p=1110#comment-269</guid>

					<description><![CDATA[En respuesta a &lt;a href=&quot;https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-268&quot;&gt;Oscar Blancarte&lt;/a&gt;.

Hola Oscar, ante todo gracias por la rápida respuesta. La cuestión es que estoy utilizando un solo entity manager para todo, y es curioso porque hice un prototipo de pruebas para emular lo que quería y me funcionó perfectamente como transacción, y cuando lo hacía fallar en efecto hacía rollback como se espera. Cuando fui a implementar lo mismo pero con las clases de un proyecto real, pues me sucede lo que te comento. Piensa que utilizo un solo entityManager por cuestiones de rendimiento y consumo de conexiones a la BD, y hasta el momento funciona bien, solo tengo el problema de la transaccionalidad que es como si estuviera haciendo, como dices, dos contextos cuando debería ir todo por uno solo. Podrías aclararme un poco el uso del driver, sobre qué clase debería utilizar oracle.jdbc.pool.OracleDataSource o más directamente oracle.jdbc.xa.OracleXADataSource, aunque entiendo que la segunda es una subclase de la primera. Gracias por adelantado]]></description>
			<content:encoded><![CDATA[<p>En respuesta a <a href="https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-268">Oscar Blancarte</a>.</p>
<p>Hola Oscar, ante todo gracias por la rápida respuesta. La cuestión es que estoy utilizando un solo entity manager para todo, y es curioso porque hice un prototipo de pruebas para emular lo que quería y me funcionó perfectamente como transacción, y cuando lo hacía fallar en efecto hacía rollback como se espera. Cuando fui a implementar lo mismo pero con las clases de un proyecto real, pues me sucede lo que te comento. Piensa que utilizo un solo entityManager por cuestiones de rendimiento y consumo de conexiones a la BD, y hasta el momento funciona bien, solo tengo el problema de la transaccionalidad que es como si estuviera haciendo, como dices, dos contextos cuando debería ir todo por uno solo. Podrías aclararme un poco el uso del driver, sobre qué clase debería utilizar oracle.jdbc.pool.OracleDataSource o más directamente oracle.jdbc.xa.OracleXADataSource, aunque entiendo que la segunda es una subclase de la primera. Gracias por adelantado</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Oscar Blancarte		</title>
		<link>https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-268</link>

		<dc:creator><![CDATA[Oscar Blancarte]]></dc:creator>
		<pubDate>Thu, 17 Jan 2019 02:10:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.oscarblancarteblog.com/?p=1110#comment-268</guid>

					<description><![CDATA[En respuesta a &lt;a href=&quot;https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-267&quot;&gt;Luis Carlos&lt;/a&gt;.

Hola Luis, cuando utilizas UserTransaction el programador es el responsable de controlar las transacciones, en tal caso, tendrías que revisar si no estás haciendo commit sin querer. Cuando utilizamos UserTransaction es común crear dos o más entityManager, lo que provoca que tengamos dos persistence context, eso puedo ocasionar que uno haga commit y el otro haga rollback, asegúrate de usar siempre la misma instancia del EntityManager o utilizar el método joinTransaction(), para segurar que todo ocurra en la misma transacción.]]></description>
			<content:encoded><![CDATA[<p>En respuesta a <a href="https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-267">Luis Carlos</a>.</p>
<p>Hola Luis, cuando utilizas UserTransaction el programador es el responsable de controlar las transacciones, en tal caso, tendrías que revisar si no estás haciendo commit sin querer. Cuando utilizamos UserTransaction es común crear dos o más entityManager, lo que provoca que tengamos dos persistence context, eso puedo ocasionar que uno haga commit y el otro haga rollback, asegúrate de usar siempre la misma instancia del EntityManager o utilizar el método joinTransaction(), para segurar que todo ocurra en la misma transacción.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Luis Carlos		</title>
		<link>https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-267</link>

		<dc:creator><![CDATA[Luis Carlos]]></dc:creator>
		<pubDate>Wed, 16 Jan 2019 12:10:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.oscarblancarteblog.com/?p=1110#comment-267</guid>

					<description><![CDATA[El método flush, según la documentación oficial, debería hacer algo así como un pre-persist del o de los objetos que estén el el contexto de persistencia. No obstante tengo un caso donde intento persistir/rollback de varios objetos en una misma transacción utilizando UserTransaction; la cuestión es que haciendo pruebas provocando un error de base de datos en una de las entidades a persistir, al hacer rollback de la transacción se queda una parte de los objetos persistidos en la base de datos. En general es que por razones ajenas, se necesitan insertar varias entidades a la base de datos, y aunque están relacionadas entre si, se deben realizar en operaciones separadas.

https://stackoverflow.com/questions/54180622/jpa-nested-transactions-all-commit-rollback-after-runtime-exception]]></description>
			<content:encoded><![CDATA[<p>El método flush, según la documentación oficial, debería hacer algo así como un pre-persist del o de los objetos que estén el el contexto de persistencia. No obstante tengo un caso donde intento persistir/rollback de varios objetos en una misma transacción utilizando UserTransaction; la cuestión es que haciendo pruebas provocando un error de base de datos en una de las entidades a persistir, al hacer rollback de la transacción se queda una parte de los objetos persistidos en la base de datos. En general es que por razones ajenas, se necesitan insertar varias entidades a la base de datos, y aunque están relacionadas entre si, se deben realizar en operaciones separadas.</p>
<p><a href="https://stackoverflow.com/questions/54180622/jpa-nested-transactions-all-commit-rollback-after-runtime-exception" rel="nofollow ugc">https://stackoverflow.com/questions/54180622/jpa-nested-transactions-all-commit-rollback-after-runtime-exception</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Oscar Blancarte		</title>
		<link>https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-266</link>

		<dc:creator><![CDATA[Oscar Blancarte]]></dc:creator>
		<pubDate>Fri, 05 Jan 2018 19:32:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.oscarblancarteblog.com/?p=1110#comment-266</guid>

					<description><![CDATA[En respuesta a &lt;a href=&quot;https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-265&quot;&gt;Mauricio&lt;/a&gt;.

No, lo que hace constains es determinar si la entidad se encuentra en el contexto de persistencia. ¿Que significa esto?, que el EntityManager lo esta actualmente administrando y esto ocurre cuando damos persist, update, merge o cualquier operación de búsqueda previa a llamar el método contains.

Como nota, cualquier entidad que no sea agregada al archivo Persistence.xml o que sea administrada por JPA no puede ser llamada entidad, por lo tanto NUNCA estará en el contexto de peristencia, por ende, nunca obtendrás un true de contains.

Espero que esto resuelva tu duda.
saludos.]]></description>
			<content:encoded><![CDATA[<p>En respuesta a <a href="https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-265">Mauricio</a>.</p>
<p>No, lo que hace constains es determinar si la entidad se encuentra en el contexto de persistencia. ¿Que significa esto?, que el EntityManager lo esta actualmente administrando y esto ocurre cuando damos persist, update, merge o cualquier operación de búsqueda previa a llamar el método contains.</p>
<p>Como nota, cualquier entidad que no sea agregada al archivo Persistence.xml o que sea administrada por JPA no puede ser llamada entidad, por lo tanto NUNCA estará en el contexto de peristencia, por ende, nunca obtendrás un true de contains.</p>
<p>Espero que esto resuelva tu duda.<br />
saludos.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Mauricio		</title>
		<link>https://www.oscarblancarteblog.com/2016/12/12/operaciones-basicas/#comment-265</link>

		<dc:creator><![CDATA[Mauricio]]></dc:creator>
		<pubDate>Mon, 01 Jan 2018 18:11:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.oscarblancarteblog.com/?p=1110#comment-265</guid>

					<description><![CDATA[En relación al método contains, que devuelve un booleano. 
¿Sirve únicamente cuando no hemos agregado la entidad al archivo persistence.xml ó de alguna otra manera valida otros datos?]]></description>
			<content:encoded><![CDATA[<p>En relación al método contains, que devuelve un booleano.<br />
¿Sirve únicamente cuando no hemos agregado la entidad al archivo persistence.xml ó de alguna otra manera valida otros datos?</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
