HV000030: не найден валидатор для типа: java.math.BigDecimal
У меня есть поле: Ordinality DB: ORDINALITY NOT NULL NUMBER(2)
@Column(name="ORDINALITY")
@NotNull(message="Ordinality is Mandatory")
@Size(max=2,message="Ordinality exceeded the limit, Max. 2 numbers are allowed.")
private BigDecimal ordinality;
- Я хочу ограничить запись только цифрами, какой будет точный синтаксис аннотации.
- Я получаю ошибку ниже, когда я даю правильное значение, а также не даю никакого значения и отправляю страницу.
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for type: java.math.BigDecimal.
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorManager.verifyResolveWasUnique(ConstraintValidatorManager.java:218)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorManager.findMatchingValidatorClass(ConstraintValidatorManager.java:193)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorManager.getInitializedValidator(ConstraintValidatorManager.java:97)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.validateConstraints(ConstraintTree.java:125)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.validateConstraints(ConstraintTree.java:91)
at org.hibernate.validator.internal.metadata.core.MetaConstraint.validateConstraint(MetaConstraint.java:83)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:547)
1 ответ
Чтобы установить точность основного поля базы данных, вы должны использовать элементы точности и масштаба @Column
аннотаций.
@Column(precision=10, scale=2)
Для проверки номера используйте @DecimalMax
аннотаций.
@DecimalMax("30.00")