tengo esta enumeración:tienda nombre de enumeración, no el valor en la base de datos utilizando Ebean
public enum DocumentTypes {
PDF("PDF Document"), JPG("Image files (JPG)"), DOC("Microsoft Word documents");
private final String displayName;
DocumentTypes(final String display) {
this.displayName = display;
}
@Override
public String toString() {
return this.displayName;
}
}
Y un modelo como este:
@Entity
@Table(name = "documents")
public class Document extends Model {
@Id
public Long id;
@Constraints.Required
@Formats.NonEmpty
@Enumerated(EnumType.STRING)
@Column(length=20, nullable=false)
public DocumentTypes type;
@Constraints.Required
@Formats.NonEmpty
@Column(nullable=false)
public String document;
}
que coinciden con la enumeración usando esto en mi controlador:
DynamicForm form = form().bindFromRequest();
// ...
Document doc = new Document();
doc.type = DocumentTypes.valueOf(form.field("type").value());
doc.save();
El problema es que en la base de datos, se almacena como "documentos de Microsoft Word", pero preferiría almacenarlo como DOC.
¿Cómo puedo hacer eso?
Gracias por su ayuda!
¡Perfecto! ¡EnumValue funcionó muy bien para mí! Gracias :) –
Ambos enlaces están muertos ahora, ¿pueden agregar alguna descripción a esto? – TheChetan