【发布时间】:2011-03-01 08:20:57
【问题描述】:
当我使用unit of work pattern(使用JPA)时,我从存储库中获取一个实体,对其进行修改,并将工作单元的修改隐式保存到数据库中。
现在我想知道如何使用工作单元模式执行验证。如果我将更改(来自用户输入)应用于域对象并在此之后进行验证,那么即使验证失败,该对象的值也会更改。有什么方法可以避免将具有非法状态的对象写入数据库?回滚工作单元?
OOP 的目标之一是对象监视它们自己的状态,因此它们永远不会接受非法值。对于这种方法,我必须抛出异常,它与上面的 bean 验证(和 spring 验证)方法相反。但也许它更简单更好。
您会使用什么验证策略(在领域驱动设计中)?
【问题讨论】:
标签: java validation jpa unit-of-work