Una de las ventajas de utilizar enumeraciones en Java, es podemos limitar los valores posibles para una propiedad, forzando a los desarrolladores a utilizar los valores ya definidos y evitando el margen de error.
@Enumerated
Con JPA también es posible utilizar enumeraciones y pueden ser de mucha ayuda para asegurar que los programadores persistan un valor válido dentro de una lista previamente definida. JPA nos permite mediante la anotación @Enumerated definir la forma en que una enumeración será persistida, las cuales se explican a continuación:
- String: permite persistir la enumeración por su nombre, lo que significa que será una columna alfanumérica. La anotación quedaría así:
- @Enumerated(value = EnumType.STRING)
- Ordinal: esta estrategia persiste un valor entero que corresponde al valor ordinal o posición de valor en la enumeración. La anotación quedaría de la siguiente manera:
- @Enumerated(value = EnumType.ORDINAL)
Retomaremos la entidad Employee que hemos venido analizando en todo este tutorial y le agregaremos una nueva propiedad que corresponda al status: