我正在阅读 Java EE 教程和 here 我在开头看到这句话:
我搜索了 持久对象 但找不到明确的解释。
持久域对象 究竟是什么?
最佳答案
Java EE 假设有一个叫做 Domain Model 的东西。域模型由表示实体的对象组成,其中 Entity 是具有与业务相关的身份的东西。 (例如,如果您在银行工作,您的域可能涉及帐户、客户、控股和贷款等内容)。
这是 Bauer 和 King 的 Java Persistence with Hibernate 中描述域模型的引用:
理想情况下(在一种称为 Domain-Driven Design 的方法中)这些域对象具有两个特征:它们不知道诸如持久性或事务之类的基础设施问题,并且它们包含实现在业务处理过程中被操纵时发生的状态转换的逻辑;这些的组合意味着业务逻辑可以与基础设施分开测试。在现实世界中,更常见的是 anemic domain objects 不包含任何业务逻辑,业务逻辑都以 transaction scripts 结束。
无论如何,这个想法是你有一个由持久实体组成的域模型。有某种配置(注释或 XML 文件或其他)将实体及其属性映射到数据库中的表和列,并映射实体之间的关系。有一个对象关系映射器(JPA 是实现 ORM 的标准,Hibernate 是一个这样的实现),它知道如何在数据库表示和对象图表示之间来回转换数据,以便开发人员可以操作对象数据库行。
对于那些声称业务逻辑不应成为域模型一部分的人,这里引用了 Java Persistence with Hibernate 一书的 3.1.2 节:
很明显,Hibernate 开发人员将其视为一种可行的替代方案,尽管它似乎不是典型企业开发中的常用方法。
关于java - 什么是持久化对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16041898/