sql - 休眠中的懒惰和渴望获取
问题描述
默认情况下,在使用 XML 的休眠中延迟获取是如何工作的?
解决方案
hibernate lazy和eager有两种实体加载模式。如果您通过 XML 映射定义实体配置,则在关系标记(即等)中定义惰性属性。many-to-one
one-to-many
如果你没有定义延迟属性,那么默认情况下延迟加载是启用的,即lazy的值为true,但是如果你想要急切加载,那么你需要通过设置关闭延迟加载lazy=false
。
现在,如果您lazy=true
在尝试访问子实体时执行 then select 语句,而 if lazy=false
(即急切获取),那么您会注意到子实体的选择查询在父实体的选择查询后立即触发。(您可以通过在控制台日志中将 showSql 设置为 true 来注意到此行为。)
希望它能清除您的所有疑问
推荐阅读
- android-studio - Android 后台服务正在运行但在重新启动时应用程序即使在实施广播接收器后也不会启动
- redux - 如何使用 immer 将新密钥作为数组传递?
- android-studio - Crashlytics 未报告,结果为 202
- memory - 如何使用 gdb 将字节写入内存?
- vue.js - 将本地 css 和 js 文件从引导主题导入到 nuxt.js 配置
- c# - 在运行时读取日志文件并在客户端逐行显示
- bash - Jupyter bash 不保存环境变量定义
- c# - IdentityServer4 多客户端注销
- python - 在while循环中打开文件的问题(python)
- nestjs - 如何使用 NestJs 中的拦截器修改来自 PUT 的请求和响应