什么是与Hibernate和JDBC相关的对象/关系映射(ORM)?

rra*_*azd 14 java orm hibernate jdbc

有人可以解释一下,与Hibernate和JDBC相关的对象/关系映射(ORM)是什么?

图表对于理解......

编辑:我发现这是通过谷歌的Hibernate ORM,有人可以确认它是准确的,并很好地表示如何使用ORM.

在此输入图像描述

src:http://software-carpentry.org/3_0/summary.html

Boz*_*zho 34

ORM允许您使用java对象作为关系数据库的表示.它映射了两个概念(面向对象和关系)

Hibernate是一个ORM框架 - 您描述了如何在数据库中表示对象,而hibernate处理转换.

JDBC是用于数据库访问的API,它以"关系方式"工作 - 您查询表并获取行和列.Hibernate使用JDBC来获取数据,然后将其转换为对象.

jdbc ResultSet有多个记录,每个记录都有一组列.在hibernate中,这成为每个数据库记录SomeClass` 的List<SomeClass>地方SomeClass has a field for every column in the database table, and there is one instance of.


ben*_*bia 6

我正在阅读Hibernate并偶然发现了这个帖子.做进一步的研究,我发现了另一个可以帮助某人的好解释:

Hibernate框架简化了java应用程序的开发,以便与数据库进行交互.Hibernate是一个开源,轻量级的ORM(对象关系映射)工具.

ORM工具简化了数据创建,数据操作和数据访问.它是一种将对象映射到数据库中存储的数据的编程技术.

在此输入图像描述

Hibernate的优点:

1)Opensource和Lightweight: Hibernate框架是LGPL许可下的开源和轻量级.

2)快速性能: hibernate框架的性能很快,因为缓存是在hibernate框架内部使用的.hibernate框架的第一级缓存和第二级缓存有两种类型的缓存.默认启用第一级缓存.

3)数据库独立查询: HQL(Hibernate Query Language)是面向对象的SQL版本.它生成数据库独立查询.因此,您不需要编写特定于数据库的查询.在Hibernate之前,如果为项目更改了数据库,我们还需要更改SQL查询,这会导致维护问题.

4)自动创建表: Hibernate框架提供了自动创建数据库表的工具.因此,无需手动在数据库中创建表.

5)简化复杂连接:在hibernate框架中很容易从多个表中获取数据.

6)提供查询统计和数据库状态: Hibernate支持查询缓存,提供有关查询和数据库状态的统计信息.

来自javatpoint的信息