Ответ 1
Вы можете напрямую использовать Hibernate Validator и аннотировать ваше поле @Digits следующим образом:
@Digits(integer=5, fraction=2)
@Column(name = "weight")
private BigDecimal weight;
Как использовать аннотацию @Size
для столбцов MySQL DECIMAL(x,y)
?
Я использую BigDecimal
, но когда я пытаюсь включить @Size
max
, он не работает. Вот мой код:
@Size(max = 7,2)
@Column(name = "weight")
private BigDecimal weight;
Вы можете напрямую использовать Hibernate Validator и аннотировать ваше поле @Digits следующим образом:
@Digits(integer=5, fraction=2)
@Column(name = "weight")
private BigDecimal weight;
См. этот ответ
@Column(nullable= false, precision=7, scale=2) // Creates the database field with this size.
@Digits(integer=9, fraction=2) // Validates data when used as a form
private BigDecimal myField;
@Column(columnDefinition = "DECIMAL(7,2)")
Если вы спрашиваете, как вы должны проверять, вы должны использовать аннотации @Min и @Max или аннотации @DecimalMin и @DecimalMax.
@Size - это аннотация, используемая для проверки свойства, а не для определения его столбца. @Size обычно используется, чтобы гарантировать, что строка или коллекция имеют определенный размер.