我正在从这里读出ORM的基础知识,它定义了什么是持久性?
在这里定义为
我们希望(某些)对象的状态超出JVM的范围,以便以后可以使用相同的状态.
我无法理解超出JVM范围的含义 .我所理解的形式可能是这样
请纠正我,因为我真的不明白这个声明是在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
}
Run Code Online (Sandbox Code Playgroud)
假设您创建了2个这样的Person对象:
Person p1 = new Person("Jon", "Skeet");
Person p2 = new Person("Gordon", "Linoff");
Run Code Online (Sandbox Code Playgroud)
如果您要Person使用Hibernate 将这些对象持久化到数据库,您可能会得到一个如下Person所示的表:
+-----------+----------+
| firstName | lastName |
+-----------+----------+
| Jon | Skeet |
| Gordon | Linoff |
+-----------+----------+
Run Code Online (Sandbox Code Playgroud)
如果您停止Java应用程序然后再次启动它,Hibernate也可以在相反的方向上工作Person,从此数据库表中的行创建对象.