首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

什么是Java Hibernate?

Hibernate ORM 或 Hibernate 是用于 Java 开发的免费、开源、对象关系映射工具(或 ORM 工具)。 它提供了一个将面向对象模型映射到关系数据库的框架。

Hibernate 允许开发人员构造 Java 对象,然后定义这些对象之间的关系。 然后它将这些对象转换为数据库模式,并最终转换为 SQL 查询。 生成的 SQL 查询是底层数据库的原生查询。

为什么 Java Hibernate 如此受欢迎?

Java Hibernate ORM 被如此广泛采用有四个主要原因:

接口不兼容的数据库 - 在纸面上,对象关系映射是一个非常好的主意。它有助于解决连接其他不兼容数据库的内在问题。 Java Hibernate 作为一种 ORM 工具,有助于弥合不兼容数据库之间的差距。

自动 SQL 查询生成 - 人们普遍认为开发人员不需要了解如何编写 SQL 查询。因为 Hibernate 自动化了 SQL 查询编写过程,它有助于分离开发人员和数据库管理员的角色。

帮助应用程序保持与持久性引擎无关 - 务实地说,应用程序应该与持久性引擎无关。 使用

哪个数据库并不重要——Hibernate 提供了一种方法来适应它。

SQL Injection Resistant - Hibernate 为 SQL 查询提供了一种更安全的替代方案——ORM 限制了 SQL 注入的风险。

对 Java Hibernate 性能问题进行故障排除

Hibernate 通常是有问题的,并且倾向于生成低效的查询和非标准的数据关系。这两个问题可能会导致各种其他性能问题,我们将在下面详细说明。

非标准数据关系

Hibernate为了关联两组数据,创建了一个外键关系表。对这些数据集的最终请求通常会变得不必要地复杂。

为了提高这些非标准数据关系及其查询的性能,开发人员可能必须在考虑到特定数据库的情况下编写变通方案——这可能会首先破坏使用 Hibernate 的全部意义。

也许最重要的是,通过依赖开发人员来简化或更改这些操作,然后要求开发人员更好地处理留给数据库管理员或数据科学家的问题。

低效查询

在查询方面,Hibernate 可能很笨拙。 它可以在各种情况下创建低效和过多的查询——通常是默认情况下。

例如,开发人员可能会在大学数据库中编写一个查询,允许用户查看学生是否注册了特定课程。 理想的查询将只查看与该学生的课程相关的课程,但 Hibernate 可能会选择查询完整的班级表数据,而不是只查询适用的数据。与仅访问必要数据的查询相比,此查询为大型数据集提供了更长的请求时间。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20220117A06TDD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券