【发布时间】:2011-09-28 07:45:58
【问题描述】:
我在 Netbeans 7 中创建了一个 EJB Session 外观来保存我的实体。 我的 Insurance 和 RatePlan 类之间有一个多方映射。
public class Insurance{
@ManyToOne(optional=false)
@JoinColumn(name="PLAN_ID")
private RatePlan plan;
}
public class RatePlan{
@OneToMany(mappedBy="plan")
private Set<Insurance> insuranceItems;
}
当我尝试使用我的 EJB 会话 Bean 保存在我的数据库中时,我遇到了以下错误。
原因:javax.validation.ConstraintViolationException:在回调事件“prePersist”上执行自动 Bean 验证时违反了 Bean 验证约束。有关详细信息,请参阅嵌入式 ConstraintViolations。
我所做的是在我的 Persistence.xml 文件中关闭我的 Bean 验证。 我想知道发生了什么 Bean 验证错误,但我不知道如何或在哪里找到它或如何配置和捕获它。
我的 EJB 外观是一个像 tis 这样的简单类。
public class InsuranceFacade{
public void saveInsurance(Insurance insurance){
em.persist(insurance);
}
}
有什么提示吗?
【问题讨论】:
-
我很想知道当这些实体中没有特定于 bean 验证的注释时,它可能是什么违规行为!
-
我实际上删除了所有的 bean 验证注释,以便代码更易于阅读... =)
标签: jpa jakarta-ee bean-validation