【发布时间】:2021-02-14 12:21:04
【问题描述】:
在下一个场景中,我必须将一些带有 JPA 规范的静态过滤器(添加 WHERE 子句)应用于 JPA 实体以获取过滤的狗列表,例如,我从一个实体收到一个 id,我必须申请相同的过滤器,但为每个未完成的过滤器发送错误消息。例如:拥有实体 Dog,我收到一个 id,使用 JPA 获取此实体并应用一些过滤器,例如狗年龄>3 年等...
我的想法是重用 JPA 规范以执行此操作,但使用它们不会向我提供有关为什么我没有获取实体以及未完成哪个过滤器以发送错误消息的信息。
我所做的是将 isDogOlderThan3Years() 之类的方法添加到 JPA 实体中,并且实体本身会为每个过滤器请求其属性等。我认为这与非贫血实体有关。这是一个好/坏的解决方案吗?有没有更好的?
谢谢
【问题讨论】:
-
您似乎正在尝试查找 3 岁以上的狗的列表。如果是这种情况,这只是一个查询,不应成为您的域模型的一部分。
-
但我的意思是使用多个过滤器,而不仅仅是一个
标签: jpa domain-driven-design anemic-domain-model