Hibernate基本概念

一、理解Hibernate相关概念


使用基于面向对象软件和关系型数据库是很笨重和耗时的。由于在对象和关系型数据库之间描述数据的对象模型不匹配,从而使得开发成本特别高。在Java环境中,Hibernate是一种对象关系映射的解决方法。
对象关系映射指的是映射数据从模型表示到关系型数据模型表示的技术。( 反之亦然)
Hibernate不仅关注从Java类到数据库表映射数据(从Java数据类型到SQL数据类型),同样也提供了数据查询和分类检索措施。它可以相当程度上减少花在手工处理SQL和JDBC数据的时间。Hibernate的设计目标是减少95%的常见数据持久化编程任务。它可以减去使用SQL和JDBC来处理人工手动制作的数据的需要。然而,不像其它的持久化方法,Hibernate没有对你隐藏SQL的作用,这样可以保证开发者依然可以使用SQL。
Hibernate对于那些以数据为中心的应用程序(仅仅使用存储流程来在数据库中实现业务逻辑)不是最好的解决方法,但是对于在基于Java中间层使用面向对象域模型和业务逻辑的应用却是最好的解决方法。
Hibernate可以帮助开发者移除或者移植特定厂商的SQL代码,把结果集(以表格表示)转化为图形化对象。

二、Hibernate的数据访问层结构


Hibernate操作数据结构图
Hibernate作为一种ORM解决方法,在Java应用程序数据访问层和关系型数据库之间。Java应用程序使用Hibernate的API来加载,存储和查询等等方法来操作它的域数据。

三、Hibernate一些重要的API


作为JPA的提供者,Hibernate实现了Java JPA API规范。下面来看看Hibernate特定接口实现图
这里写图片描述

SessionFactory (org.hibernate.SessionFactory)
SessionFactory 是线程安全不可修改的,代表了程序的域模型到数据库映射。由它来产生Session 实例。创建SessionFactory 开销特别大,所以对于任意指定的数据库,程序只应该只拥有一个SessionFactory。

四、了解域模型


(1)基本概念
域模型术语源自数据模型的领域。它基本上描述了开发者遇到的问题域。
应用程序的域模型是ORM的主要特点。它们构成了开发者希望映射的类。如果映射的类遵循Java原生对象或者JavaBean编程模型,Hibernate可以更好的工作。然而,这些规则都不是硬性要求。实际上,Hibernate很少假定持久化对象的本质。开发者可以使用其它方式来表现一个域模型,比如使用java.util.Map对象。
(2)映射类型
Hibernate识别Java和JDBC表示的应用程序数据。从数据库读写数据的能力是其中一个Hibernate类型的功能。这个在使用中的类型,是org.hibernate.type.Type接口的一个实现。这个Hibernate类型同样也描述了Java类型的许多方面的行为,例如怎么样克隆值。
Hibernate的type既不是Java类型要不是SQL类型,它提供了两者的信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值