Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

javax.servlet.ServletException: HV000030: No validator could be found for type: java.lang.Integer

I have to update information in my database.

FacadePatient.java class code:

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; } 
like image 617
Héla Avatar asked Jun 12 '13 20:06

Héla


2 Answers

HV000030: No validator could be found for type: java.lang.Integer

That will happen when you use JSR303 bean validation in flavor of Hibernate Validator and you have in your JPA entity the Hibernate-specific @NotEmpty on an Integer property like this:

@NotEmpty private Integer some; 

This is completely wrong. An integer cannot be considered as a string, collection, map or array. Use the standard @NotNull instead.

@NotNull private Integer some; 

Please note that the concrete problem is completely unrelated to JSF. In the future, please learn how to exclude as much as possible noise and naildown the concrete problem by e.g. executing the JPA code individually. JSF is merely the HTTP/MVC messenger here and PrimeFaces is merely the HTML/CSS/jQuery/UI code generator.

like image 64
BalusC Avatar answered Sep 24 '22 14:09

BalusC


I'd like to add to the above answer. This exception would also be thrown when you have some thing for example like this:

@Size(min = 1, max = 20) @Column(name = "ID") private int id; 
like image 36
kamel2005 Avatar answered Sep 24 '22 14:09

kamel2005