相关疑难解决方法(0)

企业Java实体应该是愚蠢的吗?

在我们的遗留Java EE应用程序中,有许多值对象(VO)类,它们通常只包含getter和setter,也许equals()hashCode().这些(通常)是要在持久性存储中保存的实体.(为了记录,我们的应用程序没有EJB - 尽管未来可能会发生变化 - 我们使用Hibernate来持久保存我们的实体.)操作VO中数据的所有业务逻辑都在不同的类中(不是EJB,只是POJO) ).我的OO心态讨厌这个,因为我确实认为给定类的操作应该驻留在同一个类中.所以我强烈要求重构将逻辑转移到相关的VO中.

我刚刚与一位在Java EE方面比我更有经验的同事进行了讨论,并且他证实了愚蠢的实体至少曾经是推荐的方式.不过,他最近也阅读了有关这一立场有效性的意见.

我知道有些问题至少限制了实体类中的内容:

  • 它不应该直接依赖于数据层(例如,查询代码应该进入单独的DAO)
  • 如果它直接暴露于更高层或客户端(例如通过SOAP),则可能需要限制其接口

有没有更合理的理由将逻辑移入我的实体?还是要考虑其他任何问题?

java oop entity java-ee

28
推荐指数
2
解决办法
4926
查看次数

标签 统计

entity ×1

java ×1

java-ee ×1

oop ×1