hibernate中的持久性是什么?



我从这里读到了ORM的基础知识,它的定义是什么?

这里定义为

我们希望(一些)对象的状态超出JVM的作用域,以便以后可以使用相同的状态。

我不能低估超出JVM范围的含义。我所理解的可能是

  • 对象不是由jvm处理,而是由SESSION
  • 处理
  • 我们可以使用二级缓存保存对象的状态。

请纠正我,因为说实话,我没有理解这个声明,这是在Hibernates自己的官方网站定义的。

beyond the scope of the JVM表示即使JVM关闭后状态仍然存在。或者,换句话说,状态的存在并不依赖于JVM的存在。Hibernate是一种ORM(对象关系映射)工具,通常用于将Java对象映射到数据库某处的记录。当以这种方式使用时,Hibernate将来自Java程序的状态存储在一个或多个数据库表中。

考虑以下Person类的定义:

public class Person {
    private String firstName;
    private String lastName;
    public Person(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
    // getters and setters
}

假设你像这样创建了2个Person对象:

Person p1 = new Person("Jon", "Skeet");
Person p2 = new Person("Gordon", "Linoff");

如果您要使用Hibernate将这些Person对象持久化到数据库中,您最终可能会得到一个Person表,如下所示:

+-----------+----------+
| firstName | lastName |
+-----------+----------+
| Jon       | Skeet    |
| Gordon    | Linoff   |
+-----------+----------+

如果您停止Java应用程序,然后重新启动它,Hibernate也可以在相反的方向上工作,从这个数据库表中的行创建Person对象。

持久化意味着将数据保存在适当的位置,即使在电源关闭后也会保留或持久化。例如,在文本文件中保存数据也是持久化。数据库是保存数据的一种方式。

你知道这个,它只是一个大词。

超出JVM的作用域意味着即使JVM关闭(即您的应用程序关闭),数据也应该保持或保留。

Hibernate在数据库中保存或持久化Java bean/对象。因此称为ORM对象到关系映射框架。这很简单,他们只是用了很多花哨的词,所以听起来很酷。

这意味着即使在应用程序关闭时,数据也会存储在文件或数据库之类的地方,以便下次您可以再次使用这些数据

最新更新