Hibernate原理模拟 - 什么是O/R Mapping以及为什么要有O/R Mapping。 常见的0/R框架(了解)。 hibernate基础配置(重点)。 ID生成策略(重点 AUTO) 。 Hibernate核心开发接口介绍(重点)。 对象的三种状态(了解)。 关系映射(重点)。
针对oracle数据库而言,Fetch Size 是设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条数,一般设置为30、50、100。Oracle数据库的JDBC驱动默认的Fetch Size=15,设置Fetch Size设置为:30、50,性能会有明显提升,如果继续增大,超出100,性能提升不明显,反而会消耗内存。
Hibernate 一对一映射配置详解
实体Bean每个持久化POJO类都是一个实体Bean,通过在类的定义中使用@Entity注解来进行声明。
简述Hibernate的作用:ORM:Object Relational Mapping,对象关系映射。将java程序中的对象自动持久化到关系数据库中。而Hibernate的作用好比就是在java对象与关系数据库之间的一座桥梁,它主要负责两者之间的映射。在Hibernate内部封装了JDBC技术(但只是一个轻量级的封装,因而可以让程序设计人员更方便的以面向对象的思想操纵数据库),并向外提供API接口。
在过去几年里,Hibernate不断发展,几乎成为Java数据库持久性的事实标准。它非常强大、灵活,而且具备了优异的性能。在本文中,我们将了解如何使用Java 5 注释来简化Hibernate代码,并使持久层的编码过程变得更为轻松。传统上,Hibernate的配置依赖于外部 XML 文件:数据库映射被定义为一组 XML 映射文件,并且在启动时进行加载。
Hibernate与各种数据库连接的配置
@Entity 注解将一个类声明为实体 Bean, @Id 注解声明了该实体Bean的标识属性。Hibernate 可以对类的属性或者方法进行注解。属性对应field类别,方法的 getXxx()对应property类别。
持久化是在应用程序开发中最基本的概念之一,一般是指利用SQL在关系数据库中存储数据(p3). 数据比任何应用程序存在的都长久。 (Hibernate的Session,除了查询以外,其他都必须要在事务中执行。)
Hibernate(实际上是整个 Object/Relational Mapping)的一个卖点是数据库的移植性。这意味着内部的 IT 用户可以改变数据库供应商,或者可部署的应用程序/框架使用 Hibernate 来同时使用多个数据库产品。不考虑具体的应用情景,这里的基本概念是 Hibernate 可帮助你运行多种数据库而无需修改你的代码,理想情况下甚至不用修改映射元数据。
相信大家已经对Myeclipse做javaweb项目的步骤熟读于耳,那么你有没有对那些繁琐的步骤感到很纠结,好吧,现在让我来告诉你,利用Myeclipse做JavaWeb项目其实有两种方式,第一种是”正向”方式,也就是我们传统的方式,第二种,就是“反向”方式,简单的说,就是有数据库向实体映射。
在hibernate中的增删改查的实现。hibernate是OR框架,也就是对象关系框架,有了 hibernate我们就不用再去写SQL语言,我们只需要操纵对象去进行增删改查。这里今天写的就是在如何应用hibernate实现增删改查
Hibernate实体关系:双向关联
Hibernate缓存机制对Hibernate的性能发挥一直处于一个极其重要的作用,它是持久层性能提升的关键。Hibernate缓存介于Hibernate应用和数据库之间,缓存中存放了数据库数据的拷贝。 其作用是减少访问数据库的频率,从而提高应用的运行性能。
使用@OneToOne注解建立实体Bean之间的一对一关联。一对一关联有三种情况:(1).关联的实体都共享同样的主键,(2).其中一个实体通过外键关联到另一个实体的主键(注意要模拟一对一关联必须在外键列上添加唯一约束),(3).通过关联表来保存两个实体之间的连接关系(要模拟一对一关联必须在每一个外键上添加唯一约束)。
本章介绍了Hibernate的几种主要检索方式:HQL检索方式、QBC检索方式、SQL检索方式。HQL是Hibernate Query Language的缩写,是官方推荐的查询语言。QBC是Query By Criteria的缩写,是Hibernate提供的一个查询接口。Hibernate是一个轻量级的框架,它允许使用原始SQL语句查询数据库。<br> HQL是Hiberante官方推荐的Hibernate检索方式,它使用类似SQL的查询语言,以面向对象的方式从数据库中查询。可以使用HQL查询具有继承、多态和关联关系的数据。在检索数据时应优先考虑使用HQL方式。
Hibernate学习笔记
模型不匹配(阻抗不匹配) Java面向对象语言,对象模型,其主要概念有:继承、关联、多态等;数据库是关系模型,其主要概念有:表、主键、外键等。 解决办法 1使用JDBC手工转换。 2使用ORM(Object Relation Mapping对象关系映射)框架来解决,主流的ORM框架有Hibernate、TopLink、OJB。
(1) 在eclipse中创建一个java application,项目名称为HibernateSample。在项目目录下创建一个文件夹lib,用来存放相应的库文件。 (2) 下载软件包 Hibernate,Hibernate-extention,Middlegen-Hibernate,junit以及相应的数据库驱动程序。(本例采用oracle,不需要下载驱动程序,驱动程序位于安装目录中,复制就可以了 F:\oracle-10g-express-edition\app\oracle\product\10.2.0\server\jdbc) (3) 将上述软件包解压到项目的类库目录lib下。
Hibernate对其持久化对象实现了缓存管理,来提高系统性能,Hibernate支持两级缓存管理,一级缓存是由Session提供的,因此它只存在于Session的生命周期中,是Session所内置的,不能被卸载。