JPA - 实体对象持久化到底意味着什么?持久性的定义是什么?



我对java Web应用程序相当陌生,我正在承担学习JPA的任务。 但是,实体对象持久化的含义并不明确。 我想我有一个想法,但我宁愿不假设它的含义。

我引用了Oracle JPA文档,但是在描述持久字段/属性时,它们继续使用"持久"或"持久性"等词。 有人能阐明这种坚持的想法吗? 也许定义实体实例持久化意味着什么?

如果你不能在你的定义中使用"持久"这个词(或这个词的任何形式的),那将不胜感激。 一个简单的答案会很棒,但绝对欢迎更深入的解释! 非常感谢!

  • 持久性只是意味着永久存储

    • 在JAVA中,我们使用对象并尝试将对象的值存储到数据库中(主要是RDBMS)。
    • JPA提供了对象关系映射(ORM)的实现,因此我们可以将对象作为新的元组直接存储到数据库中。
    • 在 JPA 中,对象转换为实体,以便将其映射到数据库中的表。
  • 因此,持久化实体意味着将对象(实体)永久存储到数据库中。

希望这有帮助!!

"

持久"表示"应用程序关闭后继续存在"。 对象不仅在易失性存储器中;它位于磁盘上更永久的存储中。 如果应用程序关闭,或者用户结束其会话并开始新会话,则旧数据仍可从磁盘上的永久存储中获取。

数据库将信息存储在磁盘上,除非它们是内存中版本,这些版本为您提供了使用 SQL 的优势,但几乎没有其他优势。 如果使用关系 SQL 数据库,则会获得一种查询语言,该语言可以轻松创建/读取/更新/删除信息,而无需担心其在磁盘上的存储方式。

SQL数据库使用不同的数据结构(例如B树)将关系存储在磁盘上。 关系是根据表和列定义的。 表中的每条记录都由一个行值元组组成。 对象必须使用对象关系映射将表和列映射到对象和属性。 JPA推广了这个想法,并将其构建到Java EE中,遵循TopLink和Hibernate等实现的例子。

NoSQL数据库,如MongoDB,也将信息作为文档而不是关系存储在磁盘上。

对象数据库使用 Java 序列化、XML、JSON 或自定义格式(例如 Google 协议缓冲区)等格式序列化对象及其所有子对象。

图形数据库,如Neo4J,可以被认为是对象数据库的更一般的情况。

最新更新