0

最近在做一个基于spring+hibernate的项目。我有两个实体(ProspectMaster,ProspectWorkshopMap),ProspectMaster 与 ProspectWorkshopMap 有一二多关系,当我添加前景管理员时,出现以下错误

javax.validation.UnexpectedTypeException:找不到类型的验证器:java.lang.Integer

下面是我的代码

@Entity
public class ProspectMaster {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int                                                     prospectID;

    private String                                                  companyName;

    @OneToMany(fetch = FetchType.LAZY, cascade=CascadeType.ALL)
    @JoinColumn(name="prospectID")
    private Set<ProspectWorkshopMap>  prospectWorkshopMap           = new HashSet<ProspectWorkshopMap>(0);  



    public Set<ProspectWorkshopMap> getProspectWorkshopMap() {
        return prospectWorkshopMap;
    }

    public void setProspectWorkshopMap(Set<ProspectWorkshopMap> prospectWorkshopMap) {
        this.prospectWorkshopMap = prospectWorkshopMap;
    }




    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName                                            = companyName;
    }

}

和另一个

@Entity
public class ProspectWorkshopMap {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int                                                         prospectWorkshopID;


    @Column(columnDefinition = "int default 0")
    private int                                                         iPadProspectWorkshopID;


    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "prospectCreatedFromID")
    private ProspectCreatedFromRef                                      prospectCreatedFromRef;



    private String                                                      address;

    @Length(max = 50)
    private String                                                      email;

    private String                                                      deviceID;

    @Length(max = 20)
    private int                                                         directNumber;

    private int                                                         isMainWorkshop;

    @Temporal(TemporalType.TIMESTAMP)
    private Date                                                        createdDate;

    @Temporal(TemporalType.TIMESTAMP)
    private Date                                                        updatedDate;



    private long                                                        utcCreatedDateTimestamp;


    private long                                                        utcUpdatedDateTimestamp;



    private int                                                         createdBy;

    private int                                                         updatedBy;

    @Column(columnDefinition = "int default 0")
    private int                                                         isDeleted;

    public int getProspectWorkshopID() {
        return prospectWorkshopID;
    }

    public void setProspectWorkshopID(int prospectWorkshopID) {
        this.prospectWorkshopID                                         = prospectWorkshopID;
    }

    public int getiPadProspectWorkshopID() {
        return iPadProspectWorkshopID;
    }

    public void setiPadProspectWorkshopID(int iPadProspectWorkshopID) {
        this.iPadProspectWorkshopID                                     = iPadProspectWorkshopID;
    }

    public ProspectCreatedFromRef getProspectCreatedFromRef() {
        return prospectCreatedFromRef;
    }

    public void setProspectCreatedFromRef(ProspectCreatedFromRef prospectCreatedFromRef) {
        this.prospectCreatedFromRef                                     = prospectCreatedFromRef;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address                                                    = address;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email                                                      = email;
    }

    public String getDeviceID() {
        return deviceID;
    }

    public void setDeviceID(String deviceID) {
        this.deviceID                                                   = deviceID;
    }

    public int getDirectNumber() {
        return directNumber;
    }

    public void setDirectNumber(int directNumber) {
        this.directNumber                                               = directNumber;
    }

    public int getIsMainWorkshop() {
        return isMainWorkshop;
    }

    public void setIsMainWorkshop(int isMainWorkshop) {
        this.isMainWorkshop                                             = isMainWorkshop;
    }

    public Date getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate                                                = createdDate;
    }

    public Date getUpdatedDate() {
        return updatedDate;
    }

    public void setUpdatedDate(Date updatedDate) {
        this.updatedDate                                                = updatedDate;
    }

    public int getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(int createdBy) {
        this.createdBy                                                  = createdBy;
    }

    public int getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(int updatedBy) {
        this.updatedBy                                                  = updatedBy;
    }

    public int getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(int isDeleted) {
        this.isDeleted                                                  = isDeleted;
    }

    /**
     * @return the utcCreatedDateTimestamp
     */
    public long getUtcCreatedDateTimestamp() {
        return utcCreatedDateTimestamp;
    }

    /**
     * @param utcCreatedDateTimestamp the utcCreatedDateTimestamp to set
     */
    public void setUtcCreatedDateTimestamp(long utcCreatedDateTimestamp) {
        this.utcCreatedDateTimestamp = utcCreatedDateTimestamp;
    }

    /**
     * @return the utcUpdatedDateTimestamp
     */
    public long getUtcUpdatedDateTimestamp() {
        return utcUpdatedDateTimestamp;
    }

    /**
     * @param utcUpdatedDateTimestamp the utcUpdatedDateTimestamp to set
     */
    public void setUtcUpdatedDateTimestamp(long utcUpdatedDateTimestamp) {
        this.utcUpdatedDateTimestamp = utcUpdatedDateTimestamp;
    }
}

为了节省我所做的

ProspectMaster prospect= new ProspectMaster();
        prospect.setCompanyName("Randem IT");
        ProspectWorkshopMap prospectWorkshopMap = new ProspectWorkshopMap();
        prospectWorkshopMap.setAddress("sydneyaustralia");
        prospectWorkshopMap.setCreatedBy(1);
        prospectWorkshopMap.setUpdatedBy(1);
        prospectWorkshopMap.setDirectNumber(1234567890);
        prospectWorkshopMap.setEmail("testwork0007@gmail.com");
        prospectWorkshopMap.setIsMainWorkshop(1);
        prospectWorkshopMap.setUtcCreatedDateTimestamp(122335);
        prospectWorkshopMap.setUtcUpdatedDateTimestamp(86998989);
        ProspectCreatedFromRef proRef= new ProspectCreatedFromRef();
        proRef.setProspectCreatedFromID(1);
        prospect.getProspectWorkshopMap().add(prospectWorkshopMap);
SessionFactory. getCurrentSession().saveOrUpdate(prospect);

我在哪里做错了?谁能帮忙。有什么映射问题吗?

4

1 回答 1

1

注释@Length用于验证字符串。在您的代码中,您将其用于 int 字段。例如,使用@Max来验证您的数值。

于 2013-08-22T13:29:16.983 回答