Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 休眠代理_Hibernate_Stored Procedures_Proxy - Fatal编程技术网

Hibernate 休眠代理

Hibernate 休眠代理,hibernate,stored-procedures,proxy,Hibernate,Stored Procedures,Proxy,load()默认情况下只返回一个代理,在第一次调用该代理之前不会命中数据库 这里的代理到底是什么意思?首先,代理是一个。在Hibernate的意义上,它是在运行时动态地对对象进行子类化。代理对象将包含与您的对象相同的方法(这就是为什么您没有意识到您正在处理代理的原因),并且正如您所说的,在第一次调用代理之前,不会命中数据库 首先,代理是一种。在Hibernate的意义上,它是在运行时动态地对对象进行子类化。代理对象将包含与您的对象相同的方法(这就是为什么您没有意识到您正在处理代理的原因),并且正

load()默认情况下只返回一个代理,在第一次调用该代理之前不会命中数据库


这里的代理到底是什么意思?

首先,代理是一个。在Hibernate的意义上,它是在运行时动态地对对象进行子类化。代理对象将包含与您的对象相同的方法(这就是为什么您没有意识到您正在处理代理的原因),并且正如您所说的,在第一次调用代理之前,不会命中数据库

首先,代理是一种。在Hibernate的意义上,它是在运行时动态地对对象进行子类化。代理对象将包含与您的对象相同的方法(这就是为什么您没有意识到您正在处理代理的原因),并且正如您所说的,在第一次调用代理之前,不会命中数据库

进一步解释代理;它们是通过在运行时扩展(创建子类)对象来动态创建的。这个子类拥有父实体的所有方法,当访问任何一个方法时,代理从DB加载真实对象并为您调用该方法。此外,值得一提的是,所有类型转换和instanceof操作符在代理上都可以很好地工作,因为它是一个直接的子类,因此通常不需要执行任何特殊操作来实现代理

进一步解释代理;它们是通过在运行时扩展(创建子类)对象来动态创建的。这个子类拥有父实体的所有方法,当访问任何一个方法时,代理从DB加载真实对象并为您调用该方法。此外,值得一提的是,所有类型转换和instanceof操作符在代理上都可以很好地工作,因为它是一个直接的子类,因此通常不需要执行任何特殊操作来实现代理

我从你的回答中了解到的是“如果调用了一个加载,它将首先检查持久性上下文,如果对象在会话中(不是实际的对象,而是它的代理)然后它将返回u,如果它的nt thr将命中DB并在持久性上下文中创建代理,那么它将返回它..如果m错误,则更正..感谢回复..调用load时,Hibernate将检查对象是否已包含在会话中。如果这是真的,则返回对象,否则将创建代理。Get从不返回代理。如果对象在会话中,它将被返回,否则它将被完全初始化。我从您的回答中了解到的是“如果调用了加载,它将首先检查持久性上下文,如果对象在会话中(不是实际的对象,而是它的代理)然后它将返回u,如果它的nt thr将命中DB并在持久性上下文中创建一个代理,那么它将返回它。。如果我错了就纠正。。感谢回复..调用load时,Hibernate会检查对象是否已包含在会话中。如果这是真的,则返回对象,否则将创建代理。Get从不返回代理。如果对象在会话中,它将被返回,否则它将被完全初始化。