validator validations example bean java-ee bean-validation hibernate-validator

java ee - validations - javax.servlet.ServletException: HV000030: No se pudo encontrar un validador para el tipo: java.lang.Integer



javax validation constraints size (3)

HV000030: No se pudo encontrar un validador para el tipo: java.lang.Integer

Eso sucederá cuando use la validación de beans JSR303 en el sabor de Hibernate Validator y tenga en su entidad JPA el elemento específico de Hibernate @NotEmpty en una propiedad Integer como esta:

@NotEmpty private Integer some;

Esto es completamente incorrecto Un entero no puede considerarse una cadena, colección, mapa o matriz . Use el estándar @NotNull en @NotNull lugar.

@NotNull private Integer some;

Tenga en cuenta que el problema concreto no está relacionado con JSF. En el futuro, sepa cómo excluir el ruido posible y eliminar el problema concreto, por ejemplo, ejecutando el código JPA de forma individual. JSF es simplemente el mensajero HTTP / MVC aquí y PrimeFaces es simplemente el generador de código HTML / CSS / jQuery / UI.

Tengo que actualizar la información en mi base de datos.

FacadePatient.java clase FacadePatient.java :

public Patient update(Patient p) { Patient pat = em.find(Patient.class, p.getPatientId()); p.setPatientPhone(pat.getPatientPhone()); p.setPatientDateNaiss(pat.getPatientDateNaiss()); p.setPatientEmail(pat.getPatientEmail()); p.setPatientJob(pat.getPatientJob()); p.setPatientSmoking(pat.getPatientSmoking()); p.setPatientSize(pat.getPatientSize()); em.merge(pat); return p; }


Me gustaría agregar a la respuesta anterior. Esta excepción también se lanzará cuando tengas algo por ejemplo como este:

@Size(min = 1, max = 20) @Column(name = "ID") private int id;


Puede obtener este problema también en instancias como a continuación;

@Size(max = 45, message = "Field ''SomeEntityClass.yourEnumType'' cannot exceed 45 characters") @Column(length=45) @Enumerated(EnumType.STRING) private SomeEnumType yourEnumType;

Esto se debe a que en el momento de la validación, el valor ordinal de ''yourEnumType'' (que es de tipo entero) se procesa antes de la asignación de cadenas que Hibernate resuelve antes de almacenar el valor en la base de datos.