`

hibernate的几个问题

阅读更多
hibernate的工作原理:
1.读取并解析配置文件
2.读取并解析映射信息,创建SessionFactory
3.打开Sesssion
4.创建事务Transation
5.持久化操作
6.提交事务
7.关闭Session
8.关闭SesstionFactory

为什么要用hibernate:
1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作
3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。

Hibernate是如何延迟加载
1. Hibernate2延迟加载实现:a)实体对象 b)集合(Collection)
2. Hibernate3 提供了属性的延迟加载功能
当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。

Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)
类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many

说下Hibernate的缓存机制

内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存
二级缓存:
a) 应用及缓存
b) 分布式缓存
条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非 关键数据
c) 第三方缓存的实现

如何优化Hibernate

1.使用双向一对多关联,不使用单向一对多
2.灵活使用单向一对多关联
3.不用一对一,用多对一取代
4.配置对象缓存,不使用集合缓存
5.一对多集合使用Bag,多对多集合使用Set
6. 继承类使用显式多态
7. 表字段要少,表关联不要怕多,有二级缓存撑腰


分享到:
评论

相关推荐

    Hibernate几个常见错误解决方式

    Hibernate几个常见错误解决方式,非常实用的文档,请大家好好收藏,有什么问题大家一起交流。

    Hibernate映射导致的几个异常

    Hibernate映射导致的几个常见异常

    Hibernate实践例子程序

    一个最简单的Hibernate project(不涉及Struts, Tomcat, XDoclet,JBoss等东东)必须的几个东东: 1. Hibernate工具包。 2. JDBC数据库连接驱动。以mysql为例,mysql-connector-java-3.1.×-bin.jar。 3. 配置...

    Hibernate简单例子几个

    Hibernate简单例子几个 入门级 many-to-one

    hibernate效率问题

    hibernate效率注意的几个问题,批量删除和批量更新建议用JDBC,这是一个原则,当然有的时候可能必须用Hibernate来批量更新和批量删除,那么这个时候我想说的就是,Hibernate批量更新和删除效率并非传说中的那么差,...

    Hibernate常用的jar包和两个配置文件

    java web开发中,hibernate框架中常用的jar包和两个文件

    Hibernate Web应用的开发步骤

    Hibernate Web应用的开发一般经过以下几个步骤: (1)创建数据库。 (2)将Hibernate所需的JAR包复制到WEB-INF/lib下。 (3)创建Hibernate的配置文件。 (4)利用Hibernate的第三方工具或Eclipse的有关插件从...

    经典struts+hibernate结合的电影售票系统项目

    具有典型的mvc结构,在后台操作电影影片中:在添加电影这步,我用了上传案例结合hibernate的添加数据功能成功的将电影封面上传到了指定位置,一部电影的信息分别来自几个不同的表,我用hibernate添加数据时成功的将...

    Hibernate3.1_学习源码

    03 03Hibernate_Component : 实体细粒度的划分,数据库中的一张表在程序中划分为几个部分的实体,配置文件和增、删、改、查的使用。 04 04Hibernate_Composite : 复合主键的使用,在开发中很少用到,一般良好的设计...

    HQL是hibernate自己的一套查询

    HQL是hibernate自己的一套查询

    hibernate3.6.jar

    hibernate开发所需要的几个核心jar包,hibernate常用jar包,hibernate3.jar

    hibernate和spring的几个小例子

    这是根据传智播客网上视频做的关于hibernate和spring的几个小例子,为了以后用到时可以节省时间

    Hibernate_day01.zip

    hibernate框架概述,环境搭建,hibernate基本配置,hibernate常用的几个API

    Hibernate的必须导的包.rar

    使用Hibernate框架的时候必须要的几个jar文件

    自动生成hibernate映射文件和实体类

    在这个过程中,我们可以了解到以下几个重要的技术点: 1. Hibernate 是一种开源的持久层框架,提供了一个高效的数据访问机制,能够将 Java 对象与数据库表进行映射。 2. MyEclipse 是一个集成开发环境(IDE),提供...

    Struts与Hibernate结合

    5.2.2 几个术语 5.2.3 Java中如何解决国际化的问题: 5.2.4 一个简单的国际化程序 5.2.5 Web国际化 5.2.6 中文编码问题 5.3 Tomcat5.5中配置连接池和数据源 5.4 5.4 对象关联关系的映射(1对1)

    Hibernate高级映射实例

    Hibernate高级映射的几个单向关系,单向一对一(共享主键方式、唯一外键方式),单向多对一,单向一对多,单向多对多。

    Hibernate开发租房系统终极版(可运行-附数据库脚本)

    最近看了CSDN上几个Hibernate开发的租房系统 不是版本太老就是不能运行 闹心了一星期 自己终于成功运行 另附上Oracle开发脚本 注意:一 MyEclipse8的可直接加载 MyEclipse2013需要系统转换 不然会缺少文件 二 ...

    Hibernate Validator 小例子

    Hibernate Validator的小例子,演示了最常用的几个注解以及验证方法,还是用了自定义的验证信息。 项目需求:Gradle构建工具,Eclipse或IDEA开发环境。

Global site tag (gtag.js) - Google Analytics