我为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;


但是它创建的列大小和十进制数字错误,如下所示,

java - JPA/MySQL创建错误的准确性和规模-LMLPHP

最佳答案

columnDefinitionprecision/scale是互斥的。如果提供columnDefinition,则该精确的字符串将逐字用于列类型定义,而忽略为lengthprecisionscale提供的任何值。

您想要的分别是columnDefinition = "decimal(30, 20)"columnDefinition = "float(5, 5)"

09-07 02:43