`

Hibernate的优缺点

阅读更多
Hibernate的优缺点:
  优点:1、程序更加面向对象;
        2、提高了生产率;
        3、方便移植(修改配置文件);
        4、无侵入性。
  缺点:
        1、效率比JDBC略差;
        2、不适合批量操作。

Hibernate有四种查询方案:
  1、get,load方法,根据id查找对象
  2、HQL--hibernate query language(查询对象:Query)
  3、Criteria--标准查询语言(查询对象:Criteria,查询条件:Criterion)
  4、通过sql来查(查询对象:SQLQuery)


Hibernate中,主外键关系由外键来维护。

Hibernate中,默认的全局配置文件在src目录下为:hibernate.cfg.xml,如更改用SessionFactory sf=new SessionFactory().configure("*/*.xml").buildSessionFactory();指定

inverse="true"表示此表不维护表之间的关系,由另外的表维护。


主键生成策略:
<genarator>--increment,identity,sequence,hilo,native,uuid,foreign,assigned,seqhilo,uuid.hex,uuid.string。

identity:由底层数据库生成标识符。identity是由数据库自己生成的,但这个主键必须设置为自增长,前提条件是低层数据库支持自动增长字段类型


increment:由hibernate管理主键,自动以递增的方式生成标识符,每次增量为1。其在每次插入前取得一个当前最大的id+1作为主键,该主键必须为Integer类型

“assigned”
主键由外部程序负责生成,在 save() 之前指定一个。

“hilo”
通过hi/lo 算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源

“seqhilo”
与hilo 类似,通过hi/lo 算法实现的主键生成机制,需要数据库中的 Sequence,适用于支持 Sequence 的数据库,如Oracle。

“increment”
主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键。这种方式可能产生的问题是:不能在集群下使用。

“identity”
采用数据库提供的主键生成机制。如DB2、SQL Server、MySQL 中的主键生成机制。

“sequence”
采用数据库提供的 sequence 机制生成主键。如 Oralce 中的Sequence。

“native”
由 Hibernate 根据使用的数据库自行判断采用 identity、hilo、sequence 其中一种作为主键生成方式。

“uuid.hex”
由 Hibernate 基于128 位 UUID 算法 生成16 进制数值(编码后以长度32 的字符串表示)作为主键。

“uuid.string”
与uuid.hex 类似,只是生成的主键未进行编码(长度16),不能应用在 PostgreSQL 数据库中。

“foreign”
使用另外一个相关联的对象的标识符作为主键。
分享到:
评论

相关推荐

    Struts,Spring,Hibernate优缺点_fly.mht

    Struts,Spring,Hibernate优缺点_fly.mht

    Struts,Spring,Hibernate优缺点

    Struts、Spring 和 Hibernate 是Java Web开发中三大主流的开源框架,它们各自有着独特的功能和优缺点。在构建企业级应用程序时,理解这些框架的核心特性以及它们如何相互补充至关重要。 Struts 是一个基于MVC...

    strut spring hibernate 优缺点

    ### Struts, Spring, Hibernate 三大框架的优缺点分析 #### Struts框架 **优点:** 1. **组件模块化与灵活性:** Struts框架强调组件的模块化设计,这使得开发者可以根据项目的不同需求灵活地选择和组合这些组件。...

    struts spring hibernate 优缺点分析.docx

    以下是这三个框架的详细优缺点分析: **Struts** Struts是一个开源的MVC框架,主要用于构建Web应用程序。它的主要优点包括: 1. **开源性**:Struts作为Apache基金会的项目,其源代码公开,开发者可以深入了解其...

    Struts,Spring,Hibernate优缺点.

    ### Struts、Spring、Hibernate 的优缺点分析 #### 一、Struts 框架 **优点:** 1. **实现 MVC 架构模式:**Struts 通过 Model-View-Controller (MVC) 设计模式,使得业务逻辑与表示层分离,便于维护和扩展。 2. ...

    ibatis 与hibernate之间的比较优点和缺点

    ### ibatis 与 hibernate 之间的比较:优点和缺点 #### 概述 在 Java 开发领域中,对象关系映射(Object Relational Mapping,简称 ORM)是一种将面向对象编程语言中的对象模型与数据库系统中的关系模型相互转换的...

    hibernate简介及优缺点

    一.持久化:将内存中的瞬时态数据保存成数据库中持久态数据的操作 1.瞬时态:以new命令实例化后从未用session将其与数据库关联(保存)过的... 2.Hibernate映射文件:Hibernate映射文件是Hibernate与数据库进行持久化的桥梁

    JPA与Hibernate的优缺点

    ### JPA与Hibernate的优缺点分析 #### Java Persistence API (JPA) Java Persistence API(简称JPA)是Java平台提供的一套对象关系映射(ORM)标准,它旨在为Java应用提供一种统一、灵活的数据持久化解决方案。JPA...

    ssh框架优缺点 struts hibernate spring

    ### SSH框架:Struts、Hibernate、Spring 的优缺点分析 #### Struts **优点:** 1. **MVC模式的支持**:Struts框架遵循MVC(Model-View-Controller)设计模式,它将应用程序分为模型层、视图层和控制器层,这样的...

    Hibernate课程大纲

    #### 二、Hibernate优缺点 - **优点**: - **无需SQL**:减少手写SQL的需求,提高开发效率。 - **面向对象**:开发更加面向对象,简化复杂度。 - **高移植性**:容易迁移至不同的数据库系统。 - **透明持久化**...

    Hibernate框架讲义.pdf

    二、Hibernate优缺点 1. 优点: - 提高开发效率,减少编写数据库操作的代码。 - Hibernate使用Java反射机制,实现了对象和数据库之间的透明性。 - 性能良好,作为一个轻量级框架,它的映射灵活性高。 - 提供了...

    jdbc与hibernate的优缺点比较(转载的精髓).pdf

    标题中的“jdbc与hibernate的优缺点比较”是一个关于两种主流Java数据库访问技术的讨论。JDBC(Java Database Connectivity)是Java中用于与数据库交互的一组接口和类,而Hibernate是一个对象关系映射(ORM)框架,...

    hibernate详解

    Hibernate优缺点 优点: - 提高开发效率:ORM避免了手动编写SQL语句。 - 易于维护:面向对象的编程方式更符合人类思维。 - 数据独立性:更换数据库只需修改配置文件,无需改动代码。 缺点: - 性能损耗:相比原生...

    Hibernate简单实例

    **Hibernate优缺点** 优点: 1. 提高开发效率:通过ORM将Java对象和数据库表映射,减少手动编写SQL语句的工作量。 2. 隔离数据库细节:应用代码与数据库无关,更换数据库时只需调整配置文件。 3. 支持对象关系映射...

    Hibernate面试题分析_尚硅谷_佟刚

    1. Hibernate 的检索方式有哪些 ? 2. 在 Hibernate 中 Java 对象的状态有哪些 ? 3. Session的清理和清空有什么区别? 4. load()和get()的区别 5. hibernate 优缺点......

    SSH(Spring Struts Hibernate)的优缺点

    让我们详细分析一下SSH的优缺点。 **Struts** Struts作为一个MVC框架,具有以下优点: 1. **MVC架构**:Struts通过分离业务逻辑、视图和控制逻辑,使应用结构清晰,易于维护和扩展。 2. **Taglib库**:Struts提供...

    ssh框架优缺点

    本文将深入探讨SSH框架中的Struts、Spring、Hibernate各自的优缺点。 #### Struts框架 **优点:** 1. **实现了MVC设计模式:**Struts框架很好地支持了MVC(Model-View-Controller)设计模式,使得开发者能够更加...

    java三大框架学习方法,优缺点,简介

    本文将详细介绍这三大框架的学习方法、优缺点以及它们的基本概念。 首先,Spring框架是Java企业级应用的基石,它提供了一个全面的编程和配置模型,旨在简化开发过程。学习Spring,你需要理解IoC(控制反转)和AOP...

Global site tag (gtag.js) - Google Analytics