这是通过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