Java @Valid注释多次验证bean
我也有类似的问题。我添加了Java @Valid注释多次验证bean,java,jpa,jpa-2.0,bean-validation,Java,Jpa,Jpa 2.0,Bean Validation,我也有类似的问题。我添加了@Valid注释。现在它多次验证bean,我也多次收到错误消息 代码示例: @Entity public class Plan extends AbstractEntity { ... @Valid @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) public Part getPart() { return part; } ...
@Valid
注释。现在它多次验证bean,我也多次收到错误消息
代码示例:
@Entity
public class Plan extends AbstractEntity {
...
@Valid
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
public Part getPart() {
return part;
}
...
}
@Entity
public class Part extends AbstractEntity {
...
@Valid
@OneToMany(mappedBy = "part", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
public List<PRO> getProList() {
return proList;
}
...
}
@Entity
public class PRO extends AbstractEntity {
...
@Valid
@OneToMany(mappedBy = "pro", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
public List<Sample> getSamples() {
return samples;
}
...
}
@Entity
public class Sample extends AbstractEntity {
...
@Basic
@NotNull
public Integer getCount() {
return count;
}
...
}
@实体
公共类计划扩展了抽象实体{
...
@有效的
@OneTONE(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
公共部分getPart(){
返回部分;
}
...
}
@实体
公共类部分扩展了抽象实体{
...
@有效的
@OneToMany(mappedBy=“part”,fetch=FetchType.LAZY,cascade=CascadeType.ALL)
公共列表getProList(){
返回proList;
}
...
}
@实体
公共类PRO扩展了抽象实体{
...
@有效的
@OneToMany(mappedBy=“pro”,cascade=CascadeType.ALL,fetch=FetchType.EAGER)
公共列表getSamples(){
返回样品;
}
...
}
@实体
公共类示例扩展了抽象实体{
...
@基本的
@NotNull
公共整数getCount(){
返回计数;
}
...
}
对于本例:我保存了计划,并收到了4次相同的错误消息。您的
计划
类包括一个Getter
方法,用于部分
。是故意的吗?@PM77-1是的,计划
类包含一个用于部分
的getter,部分
类包含一个用于计划
的getter。这是一个双向连接。但是你的限制在哪里呢?您多次收到哪条错误消息?@Hardy当我为count
定义一条类似@NotNull(message=“{errorCount}”)
的消息时,我收到了4次相同的消息。我没有收到message=“{errorCount}”
错误消息count:cannot null
,示例:cannot null
,proList:cannot null
和部分:cannot null
。我不完全理解你的答案。你说的“没有消息的我得到”={errorCount}“错误消息…”是什么意思?您能展示一些创建您验证的完整对象的代码吗?例如,如果示例列表中有多个示例实例,并且每个实例都有空计数,那么您确实会多次收到相同的错误消息。但是,如果查看整个约束冲突,您会发现路径不同。