2011-05-12 61 views
44

我正在與Spring一起開發一個項目,爲什麼我一直在收到以下錯誤?錯誤:無法找到類型爲驗證程序:java.lang.Integer?

javax.validation.UnexpectedTypeException:沒有驗證可以找到類型: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

看到這個答案http://forum.springsource.org/showthread.php?87762-Validation-Empty-int-field&s=cb33e82917b7e063a73c6f654d1c883f&p=348981#post348981 – 2011-05-12 18:40:41

回答

14

看起來這是類似於我在前面面對,this post幫助了我。

定製在綁定時失敗的錯誤消息。查看this link以獲取有關在應用程序上下文中創建MessageSource bean的更多詳細信息並創建messages.properties資源包:

+1

良好的信息,但他的問題就簡單多了:) – Affe 2011-05-12 19:14:47

+4

對於那些和我一樣,看過接受的答案的人,請向下滾動到[here](http://stackoverflow.com/a/5983133/1212960)以找到解決方案。 – 2012-12-13 23:29:26

+2

這不是問題所在! – NickJ 2014-02-23 20:55:09

137

根據javadoc of NotEmpty,Integer不是它要檢查的有效類型。它適用於字符串和集合。如果你只是想確保一個整數有一定的價值,javax.validation.constraints.NotNull是你所需要的。

public @interface NotEmpty

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

+7

+1。 @NotEmpty,專有,應該完全避免。它可以被替換爲@NotNull,@ Range和@Size(取決於上下文) – ChssPly76 2011-05-12 20:43:40

+3

同意避免供應商特定的功能,如果可能的話,但它是信貸免費和開放源代碼:) – Affe 2012-07-12 21:08:09

+2

驚人的多麼容易是無意中註釋一個帶'@ NotEmpty'註解的整數字段。然後你得到的不是有用的警告「沒有驗證器可以找到約束'javax.validation.constraints.Size'驗證類型'java.lang.Integer'。」 – 2017-02-06 15:35:14

相關問題