首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@Embeddable的Hibernate验证器

@Embeddable的Hibernate验证器
EN

Stack Overflow用户
提问于 2015-12-29 02:36:25
回答 2查看 1.2K关注 0票数 1

我有一个具有嵌入式属性的实体,并使用Hibernate验证器来验证该实体。但不会对嵌入属性执行验证。

下面的代码片段。

代码语言:javascript
复制
@Entity
@Table(name = "FV_TBL_SOI_IGLS")
public class IGLSDataBean implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = -7274784548705371043L;

public IGLSDataBean() {

}

/*
 * @Column(name="FUND_CODE") private String fundCode;
 */
@Size(min = 0, max = 120)
@Column(name = "FUND_NAME")
private String fundName;
@Size(min = 0, max = 255)
@Column(name = "SECURITY_NAME")

     @Valid
@EmbeddedId
private SOIPK id;

@Embeddable
public class SOIPK implements Serializable {
@NotNull
@Column(name = "SEC_ID")
private String secid;

Set<ConstraintViolation<IGLSDataBean>> constraintViolations = validator
            .validate(iglsDataBean);
EN

回答 2

Stack Overflow用户

发布于 2019-07-05 06:42:30

我也遇到了同样的问题,仅添加注释@Valid是不够的,还需要添加一些需要检查的内容,比如@NotNull

代码语言:javascript
复制
    @Entity
@Table(name = "FV_TBL_SOI_IGLS")
public class IGLSDataBean implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = -7274784548705371043L;

public IGLSDataBean() {

}

/*
 * @Column(name="FUND_CODE") private String fundCode;
 */
@Size(min = 0, max = 120)
@Column(name = "FUND_NAME")
private String fundName;
@Size(min = 0, max = 255)
@Column(name = "SECURITY_NAME")

@Valid
@EmbeddedId
@NotNull
private SOIPK id;

@Embeddable
public class SOIPK implements Serializable {
@NotNull
@Column(name = "SEC_ID")
private String secid;

Set<ConstraintViolation<IGLSDataBean>> constraintViolations = validator
            .validate(iglsDataBean);
票数 2
EN

Stack Overflow用户

发布于 2015-12-29 02:39:06

您忘记了使用@Valid注释address字段。

附注:为什么你要通过员工的地址来识别他?这没有什么意义。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34498854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档