Specify a method on an Enum that returns the value that should be stored in the DB.
This is the preferred option for mapping Enum's to DB values (preferred over the JPA standard @Enumerated and Ebean's @EnumValue annotations).
Example:
public enum Status {
NEW("N"),
ACTIVE("A"),
INACTIVE("I");
String dbValue;
Status(String dbValue) {
this.dbValue = dbValue;
}
@DbEnumValue
public String getValue() {
return dbValue;
}
}
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionintThe column length for VARCHAR.Specify the database type used to store the values (VARCHAR or INTEGER).booleanWhen true DDL should generate a database constraint for the enum values.
-
Element Details
-
storage
DbEnumType storageSpecify the database type used to store the values (VARCHAR or INTEGER).- Default:
- VARCHAR
-
length
int lengthThe column length for VARCHAR.When 0 the length is determined automatically based on the maximum length of the values used.
Specify this to allow for future string enum values that might be larger then the automatically determined maximum length.
- Default:
- 0
-
withConstraint
boolean withConstraintWhen true DDL should generate a database constraint for the enum values.- Default:
- true
-