Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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:为什么Session.load方法存在于Hibernate中,因为如果找不到对象,它会引发不可恢复的异常_Hibernate - Fatal编程技术网

Hibernate:为什么Session.load方法存在于Hibernate中,因为如果找不到对象,它会引发不可恢复的异常

Hibernate:为什么Session.load方法存在于Hibernate中,因为如果找不到对象,它会引发不可恢复的异常,hibernate,Hibernate,Hibernate中的Session的load和get方法有什么区别 如果没有匹配项,load()将引发不可恢复的异常 数据库行 如果没有匹配的数据库,get()将返回null 划船 为什么Hibernate创建者在API中保留此方法负载?(因为如果找不到对象,它会抛出一个不可恢复的异常)。get()是否足够?如果找不到实体,则只返回异常vs null Load还可能返回代理,而不是实体的持久实例。然后,当首次访问属性时,该代理将触发该实体的加载 这在Hibernate论坛上有详细讨论,之前在S

Hibernate中的
Session
load
get
方法有什么区别

如果没有匹配项,load()将引发不可恢复的异常 数据库行

如果没有匹配的数据库,get()将返回null 划船


为什么Hibernate创建者在API中保留此方法负载?(因为如果找不到对象,它会抛出一个不可恢复的异常)。
get()
是否足够?

如果找不到实体,则只返回异常vs null

Load还可能返回代理,而不是实体的持久实例。然后,当首次访问属性时,该代理将触发该实体的加载


这在Hibernate论坛上有详细讨论,之前在SO和其他许多地方也有详细讨论。

如果找不到实体,则只返回exception vs null

Load还可能返回代理,而不是实体的持久实例。然后,当首次访问属性时,该代理将触发该实体的加载


这在Hibernate论坛上有详细的讨论,之前在SO和其他很多地方都有讨论。

你说的不可恢复是什么意思?Load只是抛出一个异常,但仍然可以捕获…Un recoverable是指当不存在是一个严重错误时应该使用Load(当您知道实例存在时使用Load),即不应该通过捕获异常来检查是否存在,这就是get应该用来做的。你说的不可恢复是什么意思?Load只是抛出一个异常,但仍然可以被捕获…Un-recoverable指的是当不存在是一个严重错误时应该使用Load(当您知道实例存在时使用Load),即不应该使用它通过捕获异常来检查是否存在,这就是get的用途。谢谢Alex,第一个环节很好。我仍然有一个问题,据我所知,load和get都会首先尝试从缓存中获取对象,如果找不到,则只会命中数据库??如果我错了,请纠正我。是的,这是正确的,两种方法在进入数据库之前都会命中第一级和第二级缓存。并且只有在确定对象存在的情况下,才应该使用load方法。谢谢Alex,第一个链接非常好。我仍然有一个问题,据我所知,load和get都会首先尝试从缓存中获取对象,如果找不到,则只会命中数据库??如果我错了,请纠正我。是的,这是正确的,两种方法在进入数据库之前都会命中第一级和第二级缓存。并且只有在确定对象存在的情况下,才应该使用load方法