<?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: Mapeo de enumeraciones con @Enumerated	</title>
	<atom:link href="https://www.oscarblancarteblog.com/2016/11/14/mapeo-enumeraciones-enumerated/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.oscarblancarteblog.com/2016/11/14/mapeo-enumeraciones-enumerated/</link>
	<description>Software Architect &#38; FullStack developer</description>
	<lastBuildDate>Thu, 25 Jun 2020 16:34:53 +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/11/14/mapeo-enumeraciones-enumerated/#comment-2717</link>

		<dc:creator><![CDATA[oblancarte]]></dc:creator>
		<pubDate>Fri, 19 Jul 2019 02:57:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.oscarblancarteblog.com/?p=1140#comment-2717</guid>

					<description><![CDATA[En respuesta a &lt;a href=&quot;https://www.oscarblancarteblog.com/2016/11/14/mapeo-enumeraciones-enumerated/#comment-2708&quot;&gt;Robert&lt;/a&gt;.

Hola Rober, JPA solo soporta guardar las enumeraciones por el NAME o por el ORDINAL, el ordinal guarda la posición en que se encuentra la enumeración y el NAME guarda el nombre exacto de la enumeración, por lo que que comentas no es posible. 
Con respecto a lo del ordinal, es correcto guardar el ordinal es un riesgo muy grande, incluso yo nunca guardo la enumeración por el ordinal, por lo mismo que mencionas.]]></description>
			<content:encoded><![CDATA[<p>En respuesta a <a href="https://www.oscarblancarteblog.com/2016/11/14/mapeo-enumeraciones-enumerated/#comment-2708">Robert</a>.</p>
<p>Hola Rober, JPA solo soporta guardar las enumeraciones por el NAME o por el ORDINAL, el ordinal guarda la posición en que se encuentra la enumeración y el NAME guarda el nombre exacto de la enumeración, por lo que que comentas no es posible.<br />
Con respecto a lo del ordinal, es correcto guardar el ordinal es un riesgo muy grande, incluso yo nunca guardo la enumeración por el ordinal, por lo mismo que mencionas.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Por: Robert		</title>
		<link>https://www.oscarblancarteblog.com/2016/11/14/mapeo-enumeraciones-enumerated/#comment-2708</link>

		<dc:creator><![CDATA[Robert]]></dc:creator>
		<pubDate>Thu, 18 Jul 2019 17:52:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.oscarblancarteblog.com/?p=1140#comment-2708</guid>

					<description><![CDATA[Que pasa si quiere almacenarlo en la BD con un valor que no es el nombre ni el ordinal. Por ejemplo:

public enum EstadoVerificacion {
    NO_VERIFICADO( 10, &quot;No verificado&quot; ),
    VERIFICADO( 20, &quot;Ya se verifico&quot; ),
    DOCUMENTO_GENERADO( 35, &quot;Documento generado&quot; );

    private final int id;
    private final String description;

    private EstadoVerificacion( int id, String description ) {
        this.id = id;
        this.description = description;
    }

    public int getId() {
        return id;
    }

    public String getDescription() {
        return description;
    }
}

Quiero que sea el campo id quien se almacene en la BD.

Otra pregunta, utilizar el Ordinal ¿no es muy riesgoso? es decir otro programador (en un entorno compartido) puede querer agregar un nuevo estado y no necesariamente meterlo al final, el enum lo permite. Puede que haya un pacto de caballeros de nunca cambiar el orden y agregarlo al final, pero dado que no es una restricción de java, cualquiera puede no conocerla y agregarlo donde mejor le plazca, afectando entonces el número que se venía almacenando en la BD. Yo por eso razón (y quiero saber si hay una mejor práctica) mejor los hago como el ejemplo que pasé y así obligo a que sea ese id y ningún otro, lo malo es que no puedo poner en los entities la enumeración sino tengo que poner un int o long, quitándole elegancia al método, que se viera mucho mejor si se restringe al enum.

Gracias por su aclaración.]]></description>
			<content:encoded><![CDATA[<p>Que pasa si quiere almacenarlo en la BD con un valor que no es el nombre ni el ordinal. Por ejemplo:</p>
<p>public enum EstadoVerificacion {<br />
    NO_VERIFICADO( 10, &#8220;No verificado&#8221; ),<br />
    VERIFICADO( 20, &#8220;Ya se verifico&#8221; ),<br />
    DOCUMENTO_GENERADO( 35, &#8220;Documento generado&#8221; );</p>
<p>    private final int id;<br />
    private final String description;</p>
<p>    private EstadoVerificacion( int id, String description ) {<br />
        this.id = id;<br />
        this.description = description;<br />
    }</p>
<p>    public int getId() {<br />
        return id;<br />
    }</p>
<p>    public String getDescription() {<br />
        return description;<br />
    }<br />
}</p>
<p>Quiero que sea el campo id quien se almacene en la BD.</p>
<p>Otra pregunta, utilizar el Ordinal ¿no es muy riesgoso? es decir otro programador (en un entorno compartido) puede querer agregar un nuevo estado y no necesariamente meterlo al final, el enum lo permite. Puede que haya un pacto de caballeros de nunca cambiar el orden y agregarlo al final, pero dado que no es una restricción de java, cualquiera puede no conocerla y agregarlo donde mejor le plazca, afectando entonces el número que se venía almacenando en la BD. Yo por eso razón (y quiero saber si hay una mejor práctica) mejor los hago como el ejemplo que pasé y así obligo a que sea ese id y ningún otro, lo malo es que no puedo poner en los entities la enumeración sino tengo que poner un int o long, quitándole elegancia al método, que se viera mucho mejor si se restringe al enum.</p>
<p>Gracias por su aclaración.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
