6
我有這個枚舉在數據庫中沒有值:商店枚舉名稱,使用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;
}
}
和模型是這樣的:
@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;
}
我在我的控制器使用此枚舉匹配:
DynamicForm form = form().bindFromRequest();
// ...
Document doc = new Document();
doc.type = DocumentTypes.valueOf(form.field("type").value());
doc.save();
的問題是,在數據庫,它存儲爲「Microsoft Word文檔」,但我寧願把它保存爲DOC。
我該怎麼做?
感謝您的幫助!
完美! EnumValue非常適合我!謝謝:) – 2012-07-19 12:49:10
兩個鏈接現在都死了,你能添加一些說明這樣做呢? – TheChetan 2017-12-20 06:50:20