java - 在遍历结果集时,像 hibernate 这样的 ORM 框架是否实现了任何类型的行映射器?
问题描述
在遍历结果集时,像 hibernate 这样的 ORM 框架是否实现了任何类型的行映射器?如果不实现行映射器,他们至少在创建实体列表时迭代结果集还是直接获取实体列表作为结果集?即,内部工作createQuery("from Employee").getResultlist();
如果我们使用原生查询,它是直接返回结果集还是遍历结果集并返回对象数组列表,即List<Object[]>
?
解决方案
如果您在查询时询问 Hibernate 是否在使用某种面向对象的扩展:Hibernate 与很多数据库一起工作,它不能使用 OO 供应商扩展,因为它们不会被标准化。
如果您查看实体的注释或映射,它们会告诉您每个属性映射到哪一列。所以是的,它确实具有行映射功能,它可以生成查询、将列映射到属性并从中填充实体。
您可以通过将记录器 org.hibernate.sql 的日志级别设置为 DEBUG 来查看 Hibernate 生成的 SQL。
推荐阅读
- java - 从用户获取字符串输入的替代方法
- angular - 如何扩展或修改 ESLint 规则而不是覆盖
- javascript - 使用 fetch api 发送函数参数
- delphi - 使用此表单的句柄在表单/框架的 OnCreate 中启动线程
- python - 使用 pandas 时的性能问题适用于大数据帧
- visual-studio - 将 vs 2017 配置与 vs 2019 一起使用
- web - 在 WebLogic 12C 中部署 ear 模块时获取 Java.lang.ClassNotFoundException:org.apach.logging.log4j.Logger
- ios - 通过导航控制器传递索引路径 - 更新 CoreData 记录
- sql - 在 PostgreSQL 中使用 IF 语句更新只能有 2 个值的列
- r - 导入字体并在 ggplot 中使用它