超出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对象.