`

hibernate配置文件的属性总结

阅读更多
hibernate-mapping的属性
auto-import (可选 - 默认为 true): 指定我们是否可以在查询语言中使用非全限定的类名(仅限于本映射文件中的类)。
package (可选): 指定一个包前缀,如果在映射文档中没有指定全限定的类名, 就使用这个作为包名。

class的属性
name (可选): 持久化类(或者接口)的Java全限定名。 如果这个属性不存在,Hibernate将假定这是一个非POJO的实体映射。
table (可选 - 默认是类的非全限定名): 对应的数据库表名。
discriminator-value (可选 - 默认和类名一样): 一个用于区分不同的子类的值,在多态行为时使用。它可以接受的值包括 null 和 not null。
dynamic-update (可选, 默认为 false): 指定用于UPDATE 的SQL将会在运行时动态生成,并且只更新那些改变过的字段。 //这样做性能可能会用问题
dynamic-insert (可选, 默认为 false): 指定用于INSERT的 SQL 将会在运行时动态生成,并且只包含那些非空值字段。
batch-size (可选,默认是1) 指定一个用于 根据标识符(identifier)抓取实例时使用的"batch size"(批次抓取数量)。
optimistic-lock(乐观锁定) (可选,默认是version): 决定乐观锁定的策略。 optimistic-lock="none|version|dirty|all"
lazy (可选): 通过设置lazy="false", 所有的延迟加载(Lazy fetching)功能将被全部禁用(disabled)。
id的属性
name (可选): 标识属性的名字。
column (可选 - 默认为属性名): 主键字段的名字。
type (可选): 标识Hibernate类型的名字。
generator的属性
<generator class="generatorClass"/>
increment 用于为long, short或者int类型生成 唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。 在集群下不要使用。
identity 对DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的内置标识字段提供支持。 返回的标识符是long, short 或者int类型的。
sequence  在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence), 而在Interbase中使用生成器(generator)。返回的标识符是long, short或者 int类型的。
uuid 用一个128-bit的UUID算法生成字符串类型的标识符, 这在一个网络中是唯一的(使用了IP地址)。UUID被编码为一个32位16进制数字的字符串。
assigned 让应用程序在save()之前为对象分配一个标示符。这是 <generator>元素没有指定时的默认生成策略。
native 根据底层数据库的能力选择identity, sequence 或者hilo中的一个。

native和uuid
native的ID是数据库生成的,uuid是程序生成的,所以native提前发SQL语句,uuid就不会

foreign
property的属性
name: 属性的名字,以小写字母开头。
column (可选 - 默认为属性名字): 对应的数据库字段名。 也可以通过嵌套的<column>元素指定。
type (可选): 一个Hibernate类型的名字。
lazy (可选 - 默认为 false): 指定 指定实例变量第一次被访问时,这个属性是否延迟抓取(fetched lazily)( 需要运行时字节码增强)。
unique (可选): 使用DDL为该字段添加唯一的约束。 同样,允许它作为property-ref引用的目标。
not-null (可选): 使用DDL为该字段添加可否为空(nullability)的约束。
update, insert (可选 - 默认为 true) : 表明用于UPDATE 和/或 INSERT 的SQL语句中是否包含这个被映射了的字段。这二者如果都设置为false 则表明这是一个“外源性(derived)”的属性,它的值来源于映射到同一个(或多个) 字段的某些其他属性,或者通过一个trigger(触发器)或其他程序生成。
<many-to-one>
表示级连删除更新或创建
cascade="all|none|save-update|delete|all-delete-orphan|delete-orphan"
创建的时候如果引用的对象没有创建的话就会创建
更新的时候如果修改引用对象的话,引用的对象本身也会修改

实体类的设计原则
1.实现一个默认的(即无参数的)构造方法(constructor)
2.提供一个标识属性(identifier property)(可选)
3.使用非final的类 (可选) 这样就不支持lazy,且必须通过设置lazy="false" 来明确地禁用代理。因为代理是继承这个类(User) 生成的,final的类是不能继承的
4.为持久化字段声明访问器(accessors)和是否可变的标志(mutators)(可选)

hibernate.hbm2ddl.auto在SessionFactory创建时,自动检查数据库结构,或者将数据库schema的DDL导出到数据库. 使用 create-drop时,在显式关闭SessionFactory时,将drop掉数据库schema.
取值 validate | update | create | create-drop

inverse="true"只用在一对多和多对多双向关连,用于反转hibernate对lazy支持只在session打开的时候有效
分享到:
评论

相关推荐

    Hibernate配置文件加载后修改配置信息

    ### Hibernate配置文件加载后修改配置信息 在Java开发过程中,特别是在使用ORM框架如Hibernate时,开发者经常需要对配置文件中的数据库连接信息进行动态修改或加密处理。本文将详细介绍如何利用反射机制来修改已经...

    hibernate配置文件

    根据给定的信息,可以看出这里并没有直接提供关于Hibernate配置文件的具体内容。然而,我们可以根据标题“hibernate配置文件”及描述“不会的可以看看,什么乱七八槽的东西.20字,没有问题”来推断出,这部分内容...

    ssh整合带hibernate配置文件

    在这个场景下,"ssh整合带hibernate配置文件"的标题表明我们要讨论如何在SSH架构中配置Hibernate,特别是在Spring框架内进行事务管理。 首先,让我们了解SSH框架的核心组件: 1. **Spring**:这是一个全面的Java...

    hibernate配置文件元素详解.txt

    ### Hibernate配置文件元素详解 #### 一、概述 在SSH(Spring+Struts+Hibernate)框架中,Hibernate作为持久层框架扮演着非常重要的角色。它能够实现对象关系映射(ORM),将Java对象映射到数据库表上。为了正确地...

    Hibernate配置文件

    ### Hibernate配置文件详解 #### 一、概述 Hibernate是一个开源的对象关系映射(ORM)框架,它简化了Java应用程序与数据库交互的过程。在使用Hibernate的过程中,一个关键的配置文件是`hibernate.cfg.xml`。这个文件...

    hibernate 配置文件JAR包

    总结,Hibernate配置文件JAR包包含了一系列配置和映射信息,使得开发者能便捷地在Java应用中实现与数据库的交互。理解并熟练运用这些配置和API,将有助于提升开发效率,构建稳定、高效的数据库驱动应用。

    根据hibernate配置文件生成数据库.zip

    本压缩包“根据hibernate配置文件生成数据库.zip”包含了一些关键资源,帮助开发者理解如何使用Hibernate工具hbm2ddl自动生成数据库结构。以下是对这些资源的详细解释: 1. **使用Hibernate的工具hbm2ddl根据你的...

    hibernate配置文件hibernate.cfg.xml的详细解释

    ### Hibernate配置文件hibernate.cfg.xml的详细解释 #### 一、引言 在Java持久化框架Hibernate中,`hibernate.cfg.xml`是核心配置文件之一,它用于配置Hibernate的运行环境,包括数据库连接信息、性能参数以及其他...

    Hibernate配置文件.pdf

    总结起来,Hibernate配置文件是连接Java应用程序和数据库的关键,它们定义了数据库连接参数,确定了数据类型处理方式,并指明了对象和表的映射。使用`hibernate.properties`或`hibernate.cfg.xml`,开发者可以轻松地...

    hibernateJar包及配置文件

    2. Hibernate配置文件(hibernate.cfg.xml): - 数据库连接配置:包括数据库URL、用户名、密码、驱动类名等,这些信息定义了应用程序如何连接到数据库。 - 映射文件引用:通过`&lt;mapping resource=""/&gt;`标签,指定...

    hibernate3.3.2所有jar包及xml配置文件

    "hibernate3.3.2所有jar包及xml配置文件" 这个标题表明我们要讨论的是关于Hibernate ORM框架的3.3.2版本,它包括了所有必要的jar包以及一个预配置的`hibernate.cfg.xml`文件。Hibernate是一个流行的Java框架,用于将...

    生成hibernate配置文件和xml的辅助类generate

    标题中的“生成hibernate配置文件和XML的辅助类generate”指的是在Java开发中使用Hibernate框架时,为了简化配置过程,开发者可能会创建一个辅助工具类,这个类可以帮助自动生成Hibernate所需的配置文件和映射XML...

    Hibernate知识点总结

    2. **创建Hibernate配置文件**:通常命名为`hibernate.cfg.xml`,此文件用于配置数据库连接信息和其他全局设置。 3. **创建持久化类**:持久化类代表数据库中的表,需要遵循一定的约定,例如提供无参数构造器、标识...

    Hibernate的配置文件和影射文件的创建过程

    本篇将详细讲解Hibernate配置文件`hibernate.cfg.xml`的创建过程以及映射文件的创建步骤。 ### Hibernate配置文件的创建 1. 创建`hibernate.cfg.xml`文件: 首先,我们需要新建一个XML文件,通常命名为`hibernate...

    Hibernate通过配置文件自动生成表

    本篇将详细讲解如何通过Hibernate配置文件自动生成数据库表,以及相关的知识点。 **一、Hibernate概述** Hibernate是Java平台上的一个开源框架,它的主要功能是提供一种映射机制,将Java类与数据库表进行对应,...

    hibernate配置详解

    ### Hibernate配置详解 #### 一、引言 Hibernate是一个开源的对象关系映射(ORM)框架,它能够将Java对象映射到数据库表中,并管理这些对象的生命周期。本篇文章将详细解析Hibernate的基本配置方法,包括数据库...

    Hibernate配置数据源.

    根据描述中的内容,我们可以将Hibernate中配置数据源的方式大致分为三种:直接在Hibernate配置文件中定义、通过外部配置文件指明数据源以及利用现有的容器管理的数据源。 #### 四、配置方法详解 ##### 1. 在...

    Hibernate基本配置演示

    1. **hibernate.cfg.xml**: 创建一个名为`hibernate.cfg.xml`的配置文件,其中定义了数据库连接信息、SessionFactory配置等。例如: ```xml &lt;!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate...

    Hibernate配置

    在使用Hibernate之前,首先需要在项目的`hibernate.cfg.xml`配置文件中进行初始化设置。此文件包含了数据库连接信息、JDBC驱动类、事务管理器等关键参数。例如: ```xml &lt;hibernate-configuration&gt; &lt;!-- 数据库...

Global site tag (gtag.js) - Google Analytics