Проверка bean-компонентов не обнаруживает нарушений в Jakarta EE и HibernateJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проверка bean-компонентов не обнаруживает нарушений в Jakarta EE и Hibernate

Сообщение Anonymous »

У меня возникли проблемы с проверкой компонентов в моем проекте Jakarta EE и Hibernate. Мой метод проверки не обнаруживает никаких нарушений, даже если объект содержит недопустимые значения. Вот соответствующий код:
Метод проверки:

Код: Выделить всё

private void validate(T entity, Class... groups) {
Set violations = EntityValidator.validateEntity(entity, groups);
if (!violations.isEmpty()) { // Always Empty!
for (ConstraintViolation violation : violations) {
throw new RuntimeException(violation.getPropertyPath() + ": " + violation.getMessage());
}
}
}
Класс EntityValidator:

Код: Выделить всё

public class EntityValidator {

private static final ValidatorFactory DEC_FACTORY = Validation.byDefaultProvider()
.configure()
.buildValidatorFactory();

public static  Set validateEntity(T entity, Class... groups) {
Set violations = DEC_FACTORY
.getValidator().validate(entity, groups);
return violations;
}
}
Класс сущности:

Код: Выделить всё

@Entity
@Table(name = "users")
public class User {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long userId;

@Column(name = "username", nullable = false, unique = true)
@Size(min = 5, max = 15, message = "{username.size}")
@Pattern(regexp = "^[a-zA-Z0-9._-]{5,15}$", message = "{username.pattern}")
private String username;

@Column(name = "password_hash")
@Pattern(regexp = "^(?=.*[0-9]).{8,}$", message = "{password.pattern}")
private String passwordHash;
}
Тестовый пример:

Код: Выделить всё

User user = new User();
user.setUsername("a");
user.setPasswordHash("abc");
validate(user);
Несмотря на установку недопустимых значений, метод validate не обнаруживает никаких нарушений. В моем проекте используются Jakarta Validation 2.0.2 и Hibernate 6.0.2. Как я могу гарантировать, что проверка компонента выявляет эти нарушения?


Подробнее здесь: https://stackoverflow.com/questions/788 ... -hibernate
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как лучше всего справиться с конвергенцией зависимости между jakarta.ws.rs:jakarta.ws.rs-api:2.x и jakarta.ws.rs:jakarta
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как включить проверку bean-компонентов (@Valid) для конечных точек WebSocket в Jakarta EE?
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Внедрение bean-компонентов в Hibernate BeforeExecutionGenerator
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Внедрение bean-компонентов в Hibernate BeforeExecutionGenerator
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Проверка bean-компонентов внутри абстракции предметной области
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»