我为MySQL DB创建了一个具有以下精度和规模的JPA实体。
但是它会错误地创建精度和缩放比例。
手动修复表格是唯一的选择吗?还是可以将其固定在代码中?
我使用Springboot 1.5.7
JPA实体:
@Column(name = "neat_material_cost", columnDefinition = "decimal", precision = 30, scale = 20)
private BigDecimal neatMaterialCost;
@Column(name = "percent_weighed_input_value", columnDefinition = "float", precision = 5, scale = 2)
private Float percentWeighedInputValue;
@Column(name = "percent_dilution_input_value", columnDefinition = "float", precision = 5, scale = 2)
private Float percentDilutionInputValue;
但是它创建的列大小和十进制数字错误,如下所示,
最佳答案
columnDefinition
和precision/scale
是互斥的。如果提供columnDefinition
,则该精确的字符串将逐字用于列类型定义,而忽略为length
,precision
和scale
提供的任何值。
您想要的分别是columnDefinition = "decimal(30, 20)"
和columnDefinition = "float(5, 5)"
。