我正在阅读OOP设计模式和框架设计,并发现自己对术语 ORM 和 Persistence framework 之间的区别有些不确定。 ORM是PF的一种吗?您对这两种功能有什么不同的功能?
答案 0 :(得分:3)
我将ORM定义为将任何数据映射到对象/类结构的系统。该数据可能来自旨在用于持久数据的系统,但不是强制性的。想象一下JSON映射器,它将数据从网络服务读取到对象中。
持久性框架主要使用ORM与用户代码进行交互,并涵盖了使对象存储尽可能安全可靠的问题。
ORM比持久性更通用。 ORM可以没有持久性而不是副手。
答案 1 :(得分:1)
ORM是指对象关系映射的概念,即将数据库中的记录(例如,可能来自表或视图)映射到应用程序(实体)中的对象表示或将实体集合与他们的关系。
持久性框架是指通常将数据持久化(存储)到数据库中的框架。请注意,持久性框架可能会持久化到现实中的任何事物,具体取决于框架,甚至持久化到XML文件。它是数据库和应用程序中实体之间的抽象层。
有时这些术语可以互换使用。请注意,良好的持久性框架具有以下规则:如何提取数据,如何持久化数据,如何处理所谓的阻抗不匹配(在Wiki中查找),如何以预定义的方式管理陈旧或脏数据,如何加载数据和相关数据,等等。