2011-05-12 12 views
44

Estoy trabajando en un proyecto con Spring ¿por qué sigo recibiendo el siguiente error?error: No se pudo encontrar un validador para el tipo: java.lang.Integer?

javax.validation.UnexpectedTypeException: No se pudo encontrar validador para el tipo: java.lang.Integer

Code: 

package com.s2rsolutions.model; 

import java.util.Date; 

import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.Id; 
import javax.persistence.Table; 
import javax.validation.constraints.Size; 

import org.hibernate.validator.constraints.NotEmpty; 



@Entity 
@Table(name = "sales") 
public class Sales { 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "ttl_d_sls_lst_mth", nullable = false) 
    private Integer ttl_d_sls_lst_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "ttl_d_sls_6_mth", nullable = false) 
    private Integer ttl_d_sls_6_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "ttl_d_sls_mtht", nullable = false) 
    private Integer ttl_d_sls_mtht; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "ttl_s_sls_lst_mth", nullable = false) 
    private Integer ttl_s_sls_lst_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "ttl_s_sls_6_mth", nullable = false) 
    private Integer ttl_s_sls_6_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "ttl_s_sls_mtht", nullable = false) 
    private Integer ttl_s_sls_mtht; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "nw_lst_mth", nullable = false) 
    private Integer nw_lst_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "nw_6_mth", nullable = false) 
    private Integer nw_6_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "nw_mtht", nullable = false) 
    private Integer nw_mtht; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "usd_lst_mth", nullable = false) 
    private Integer usd_lst_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "usd_6_mth", nullable = false) 
    private Integer usd_6_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "usd_mtht", nullable = false) 
    private Integer usd_mtht; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "grss_prt_pvnr_lst_mth", nullable = false) 
    private Integer grss_prt_pvnr_lst_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "grss_prt_pvnr_6_mth", nullable = false) 
    private Integer grss_prt_pvnr_6_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "grss_prt_pvnr_mtht", nullable = false) 
    private Integer grss_prt_pvnr_mtht; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "grss_prt_pvur_lst_mth", nullable = false) 
    private Integer grss_prt_pvur_lst_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "grss_prt_pvur_6_mth", nullable = false) 
    private Integer grss_prt_pvur_6_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "grss_prt_pvur_mtht", nullable = false) 
    private Integer grss_prt_pvur_mtht; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "shwrm_tffic_lst_mth", nullable = false) 
    private Integer shwrm_tffic_lst_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "shwrm_tffic_6_mth", nullable = false) 
    private Integer shwrm_tffic_6_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "shwrm_tffic_mtht", nullable = false) 
    private Integer shwrm_tffic_mtht; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "shwrm_clsng_lst_mth", nullable = false) 
    private Integer shwrm_clsng_lst_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "shwrm_clsng_6_mth", nullable = false) 
    private Integer shwrm_clsng_6_mth; 

    @NotEmpty(message = "The above field must not be blank.") 
    @Column(name = "shwrm_clsng_mtht", nullable = false) 
    private Integer shwrm_clsng_mtht; 

    @Column(name = "date_added") 
    private Date addedDate; 


    public Integer getTtl_d_sls_lst_mth() { 
     return ttl_d_sls_lst_mth; 
    } 

    public void setTtl_d_sls_lst_mth(Integer ttl_d_sls_lst_mth) { 
     this.ttl_d_sls_lst_mth = ttl_d_sls_lst_mth; 
    } 

    public Integer getTtl_d_sls_6_mth() { 
     return ttl_d_sls_6_mth; 
    } 

    public void setTtl_d_sls_6_mth(Integer ttl_d_sls_6_mth) { 
     this.ttl_d_sls_6_mth = ttl_d_sls_6_mth; 
    } 

    public Integer getTtl_d_sls_mtht() { 
     return ttl_d_sls_mtht; 
    } 

    public void setTtl_d_sls_mtht(Integer ttl_d_sls_mtht) { 
     this.ttl_d_sls_mtht = ttl_d_sls_mtht; 
    } 

    public Integer getTtl_s_sls_lst_mth() { 
     return ttl_s_sls_lst_mth; 
    } 

    public void setTtl_s_sls_lst_mth(Integer ttl_s_sls_lst_mth) { 
     this.ttl_s_sls_lst_mth = ttl_s_sls_lst_mth; 
    } 

    public Integer getTtl_s_sls_6_mth() { 
     return ttl_s_sls_6_mth; 
    } 

    public void setTtl_s_sls_6_mth(Integer ttl_s_sls_6_mth) { 
     this.ttl_s_sls_6_mth = ttl_s_sls_6_mth; 
    } 

    public Integer getTtl_s_sls_mtht() { 
     return ttl_s_sls_mtht; 
    } 

    public void setTtl_s_sls_mtht(Integer ttl_s_sls_mtht) { 
     this.ttl_s_sls_mtht = ttl_s_sls_mtht; 
    } 

    public Integer getNw_lst_mth() { 
     return nw_lst_mth; 
    } 

    public void setNw_lst_mth(Integer nw_lst_mth) { 
     this.nw_lst_mth = nw_lst_mth; 
    } 

    public Integer getNw_6_mth() { 
     return nw_6_mth; 
    } 

    public void setNw_6_mth(Integer nw_6_mth) { 
     this.nw_6_mth = nw_6_mth; 
    } 

    public Integer getNw_mtht() { 
     return nw_mtht; 
    } 

    public void setNw_mtht(Integer nw_mtht) { 
     this.nw_mtht = nw_mtht; 
    } 

    public Integer getUsd_lst_mth() { 
     return usd_lst_mth; 
    } 

    public void setUsd_lst_mth(Integer usd_lst_mth) { 
     this.usd_lst_mth = usd_lst_mth; 
    } 

    public Integer getUsd_6_mth() { 
     return usd_6_mth; 
    } 

    public void setUsd_6_mth(Integer usd_6_mth) { 
     this.usd_6_mth = usd_6_mth; 
    } 

    public Integer getUsd_mtht() { 
     return usd_mtht; 
    } 

    public void setUsd_mtht(Integer usd_mtht) { 
     this.usd_mtht = usd_mtht; 
    } 

    public Integer getGrss_prt_pvnr_lst_mth() { 
     return grss_prt_pvnr_lst_mth; 
    } 

    public void setGrss_prt_pvnr_lst_mth(Integer grss_prt_pvnr_lst_mth) { 
     this.grss_prt_pvnr_lst_mth = grss_prt_pvnr_lst_mth; 
    } 

    public Integer getGrss_prt_pvnr_6_mth() { 
     return grss_prt_pvnr_6_mth; 
    } 

    public void setGrss_prt_pvnr_6_mth(Integer grss_prt_pvnr_6_mth) { 
     this.grss_prt_pvnr_6_mth = grss_prt_pvnr_6_mth; 
    } 

    public Integer getGrss_prt_pvnr_mtht() { 
     return grss_prt_pvnr_mtht; 
    } 

    public void setGrss_prt_pvnr_mtht(Integer grss_prt_pvnr_mtht) { 
     this.grss_prt_pvnr_mtht = grss_prt_pvnr_mtht; 
    } 

    public Integer getGrss_prt_pvur_lst_mth() { 
     return grss_prt_pvur_lst_mth; 
    } 

    public void setGrss_prt_pvur_lst_mth(Integer grss_prt_pvur_lst_mth) { 
     this.grss_prt_pvur_lst_mth = grss_prt_pvur_lst_mth; 
    } 

    public Integer getGrss_prt_pvur_6_mth() { 
     return grss_prt_pvur_6_mth; 
    } 

    public void setGrss_prt_pvur_6_mth(Integer grss_prt_pvur_6_mth) { 
     this.grss_prt_pvur_6_mth = grss_prt_pvur_6_mth; 
    } 

    public Integer getGrss_prt_pvur_mtht() { 
     return grss_prt_pvur_mtht; 
    } 

    public void setGrss_prt_pvur_mtht(Integer grss_prt_pvur_mtht) { 
     this.grss_prt_pvur_mtht = grss_prt_pvur_mtht; 
    } 

    public Integer getShwrm_tffic_lst_mth() { 
     return shwrm_tffic_lst_mth; 
    } 

    public void setShwrm_tffic_lst_mth(Integer shwrm_tffic_lst_mth) { 
     this.shwrm_tffic_lst_mth = shwrm_tffic_lst_mth; 
    } 

    public Integer getShwrm_tffic_6_mth() { 
     return shwrm_tffic_6_mth; 
    } 

    public void setShwrm_tffic_6_mth(Integer shwrm_tffic_6_mth) { 
     this.shwrm_tffic_6_mth = shwrm_tffic_6_mth; 
    } 

    public Integer getShwrm_tffic_mtht() { 
     return shwrm_tffic_mtht; 
    } 

    public void setShwrm_tffic_mtht(Integer shwrm_tffic_mtht) { 
     this.shwrm_tffic_mtht = shwrm_tffic_mtht; 
    } 

    public Integer getShwrm_clsng_lst_mth() { 
     return shwrm_clsng_lst_mth; 
    } 

    public void setShwrm_clsng_lst_mth(Integer shwrm_clsng_lst_mth) { 
     this.shwrm_clsng_lst_mth = shwrm_clsng_lst_mth; 
    } 

    public Integer getShwrm_clsng_6_mth() { 
     return shwrm_clsng_6_mth; 
    } 

    public void setShwrm_clsng_6_mth(Integer shwrm_clsng_6_mth) { 
     this.shwrm_clsng_6_mth = shwrm_clsng_6_mth; 
    } 

    public Integer getShwrm_clsng_mtht() { 
     return shwrm_clsng_mtht; 
    } 

    public void setShwrm_clsng_mtht(Integer shwrm_clsng_mtht) { 
     this.shwrm_clsng_mtht = shwrm_clsng_mtht; 
    } 

    public Date getAddedDate() { 
     return addedDate; 
    } 

    public void setAddedDate(Date addedDate) { 
     this.addedDate = addedDate; 
    } 

    public String getUsername() { 
     return username; 
    } 

    public void setUsername(String username) { 
     this.username = username; 
    } 

    @Id 
    @Column(name = "username") 
    private String username; 

} 
+0

ver esta respuesta http://forum.springsource.org/showthread.php?87762-Validation-Empty-int-field&s=cb33e82917b7e063a73c6f654d1c883f&p=348981#post348981 –

Respuesta

14

Parece que esto es similar a lo que me enfrentaba antes, this post me ayudó.

Para personalizar los mensajes de error de fallar en el momento de la vinculación. Mira this link para más detalles sobre la creación de un grano de MessageSource en su contexto de aplicación y crear un paquete de recursos messages.properties:

+1

buena información, pero su problema es mucho más simple :) – Affe

+4

para aquellos que, como yo, que miraba a la respuesta aceptada, desplazarse hacia abajo para [aquí] (http://stackoverflow.com/a/5983133/1212960) para encontrar la solución. –

+2

¡Esto no es lo que preguntaba la pregunta! – NickJ

137

Según el javadoc of NotEmpty, Integer no es un tipo válido para que se compruebe. Es para cadenas y colecciones. Si solo quiere asegurarse de que un entero tenga algún valor, javax.validation.constraints.NotNull es todo lo que necesita.

public @interface NotEmpty

Asserts that the annotated string, collection, map or array is not null or empty.

+7

+1. @NotEmpty, al ser propietario, debe evitarse por completo. Puede ser reemplazado por @NotNull, @Range y @Size (dependiendo del contexto) – ChssPly76

+3

acuerdo en evitar características específicas del proveedor cuando sea posible, pero es en su haber abierto y libre :) – Affe

+2

increíble lo fácil que es para anotar involuntariamente una campo entero con una anotación '@ NotEmpty'. Y se obtiene la menor de advertencia útil “No se pudo encontrar validador para la restricción 'javax.validation.constraints.Size' Tipo de validación 'java.lang.Integer'.” –

Cuestiones relacionadas