這是通過JPA與EclipseLink,我讓它爲我創建表。後端數據庫是用於開發模式的Derby,我希望使用MySQL或其他部件進行部署。如何控制枚舉的列大小?
在我的實體我有一個枚舉:
@Entity
public class Thing implements Serializable {
public enum Choice { Able, Baker, Charlie, Delta }
@Column(precision = 1)
private Choice choiceValue;
// etc
}
枚舉序只需要一個數字,但表被創建時,它分配10位吧。所以一百萬條記錄會浪費9兆字節。 「精度= 1」項被忽略。
有沒有辦法讓它只用一個字節來編碼枚舉?
好吧,我只是試過這個,它的工作。我理解NUMERIC(1)定義可能只需要SQL數據庫中的一個字節,但在JVM中實例化爲BigDecimal對象? – AlanObject