【问题标题】:Should I use Bean Validation with EJB 3.1, JSF2.0 and JPA?我应该在 EJB 3.1、JSF2.0 和 JPA 中使用 Bean 验证吗?
【发布时间】:2010-03-04 03:31:15
【问题描述】:

我有一个 JSF 2.0 应用程序,我想开始为其添加验证器。应用架构的基本概述如下。

我有托管支持 Bean,其中包含我的 JPA 注释类和 EJB 的实例。 EJB 负责以事务方式访问数据库。 JPA 带注释的类与我的 facelets 绑定在一起(并使用 EJB 进行数据库访问)。

我可能会使用 Bean 验证并编写自定义约束,但这意味着我必须将这些约束添加到我的 JPA 注释类中。在我看来,这似乎违反了我的关注点分离。 (将演示/验证与 JPA 注释类/DAO 混合)在这种情况下不使用 Bean 验证会更好吗?我的结构有缺陷吗?有没有我不知道的首选方法?

谢谢!

【问题讨论】:

    标签: java validation jsf jpa ejb


    【解决方案1】:

    验证是业务逻辑的一部分,因此必须存在于作为持久性实体的域模型中。因此,将它们包含在您的 JPA 实体中绝对没有错。

    验证不属于演示,因为即使您更改了演示层(例如您要在 EJB 上公开一堆 Web 服务),验证仍然需要存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-30
      • 1970-01-01
      相关资源
      最近更新 更多