Seleccionar página

Si se desea mapear un campo de tipo enum en una entidad de JPA, puede hacerse de forma muy sencilla con la anotación @enumerated:


  @Entity
  public class MyEntity {
      public static enum MyEnumType {
         ONE_VALUE, OTHER_VALUE;
      }
      
     private MyEnumType myValue;

     @Enumerated(EnumType.STRING)
     private MyEnumType getMyValue() {
         return myValue;
     }

La anotación enumerated nos permite especificar EnumType.STRING o EnumType.ORDINAL, que almacenará en la base de datos los valores de la enumeración como una cadena con el nombre del valor de la enumeración o como el número de la posición en que se declara, respecivamente.
Para mapear enumeraciones más complejas en las que se desee controlar el valor específico que se almacena en la base de datos, es necesario recurrir a la definición de nuevos tipos usando Hibernate.