hibernate:持久化类映射文件

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping
    package="com.myschool.entity">
    <class name="Admin" table="Admin" lazy="true">
        <id name="loginId" column="loginId">
            <generator class="assigned"></generator><!--assigned 外部程序指定  -->
        </id>
        <property name="loginPwd" type="string" column="loginPwd"/>
    </class>

</hibernate-mapping>

其中各元素的含义如下:

class:定义一个持久化类的映射信息。常用属性如下:

  name表示持久化类的全限定名

  table表示持久化类对应的数据库表名

  schema表示数据库实例中的用户

id:表示持久化类的OID和表的主键的映射。常用属性如下:

  name:表示持久化类属性的名称,和属性的访问器匹配

  type:表示持久化类属性的类型

  column:表示持久化类属性对应的数据库表字段的名称

generator:id元素的子元素,用于指定主键的生成策略。常用属性及子元素如下:

  class:用来指定具体主键生成策略

  param用来传递参数

常用的主键生成策略如下:

  increment:对应类型为long、short或int的主键,以自动增长的方式生成主键的值。主键按数值顺序递增,增量为1

  identity:对如SQLServer、DB2、MySQL等支持标识列的数据库,可使用该主键生成策略生成自动增长主键,但要在数据库中将该书剑设置为标识列

  sequence:对oracle、DB2等支持序列的数据库,可使用该主键生成策略生成自动增长主键,通过子元素param传入数据库中序列的名称

  native:由hibernate根据底层数据库自行判断采用何种主键生成策略,既由使用的数据库生成主键的值

  assigned:主键由应用程序复杂生成,无须hibernate的参与

property:定义持久化类中属性和数据库表的字段的对应关系。常用属性如下:

  name:表示持久化类属性的名称,和属性访问器相匹配

  type:表示持久化类属性的类型

  column:表示持久化类属性对应的数据库表字段的名称

hibernate:持久化类映射文件

时间: 2024-10-08 23:51:46

hibernate:持久化类映射文件的相关文章

Hibernate之核心文件

一个Hibernate项目核心配置文件主要分为以下三个方面:1.配置文件hibernate.cfg.xml:2.配置文件*.hbm.xml,此文件一般包括映射文件的结构以及各种属性的映射方式:3.Hibernate关联关系映射. 1.配置文件hibernate.cfg.xml文件 1 <?xml version="1.0" encoding="utf-8"?> 2 <!DOCTYPE hibernate-configuration 3 PUBLIC

Hibernate持久化对象状态、转换方法和操作步骤

1  持久化对象三种状态 瞬态:对象由new操作符创建,且尚未与Hibernate Session关联的对象被认为处于瞬态.瞬态对象不会被持久化到数据库中,也不会被赋予持久化标识.如果程序中失去了瞬态对像的引用,瞬态对象将被垃圾回收机制销毁.使用Hibernate Session可以将其变为持久化状态. 持久化:持久化实例在数据库中有对应的记录,并拥有一个持久化标识(identifier).持久化的实例可以是刚刚保存的,也可以是刚被加载的.无论哪一种,持久化对象都必须与制定的Hibernate

(转) Hibernate持久化类与主键生成策略

http://blog.csdn.net/yerenyuan_pku/article/details/65462930 Hibernate持久化类 什么是持久化类呢?在Hibernate中持久化类的英文名称是Persistent Object(简称PO),PO=POJO+hbm映射配置文件. 对于Hibernate中的PO,有如下编写规则: 必须提供一个无参数的public构造方法. 所有属性要用private修饰,对外提供public的get/set方法. 在PO类必须提供一个标识属性,让它与

hibernate之模拟Hibernate持久化操作

[Hibernate]之模拟Hibernate持久化操作 使用过Hibernate,大家都知道,由于其面向对象的设计,用起来非常方便,且具有很好的跨数据库性,那么Hibernate的底层是怎么实现的呢?其实也就是将对象模型转化为关系模型,最终还是得sql语句来执行. 看过Hibernate源码的同学应该发现, Hibernate底层的核心是代理和反射,那么由此这样我们就可以理解为什么使用Hibernate在效率上始终是致命的. Ok,下面是一个简单的模拟Hibernate-ORM的save()方

Hibernate持久化生命周期——三态

通过前几篇博客的大概介绍,我们发现hibernate将业务实体持久化到数据库的工作原理的实现,是通过"映射xml"来衔接的.那么这个xml的由来是哪? 映射文件(hbm)合理的存在的前提就是"有与之对应的实体的存在"--业务实体. 今天这篇博客就来说说实体到数据库的过程,这是一个从代码到数据的持久化过程,就是hibernate实现ORM持久化的生命周期. 一.持久化对象生命周期 下图是hibernate持久化的一个状态图,从图中可以看出,ORM这个过程经历了三个状态

3.1 hibernate持久化类及一级缓存

1.持久化类编写规则 Hibernate是持久化层的ORM映射框架,专注于数据的持久化工作. 持久化:所谓的持久化就是讲内存中的数据永久保存到关系型数据库中. 持久化类:其实所谓的持久化类指的是一个Java类与数据库表建立了映射关系,那么这个类称为是持久化类.其实,你可以简单的理解为就是一个Java类,该类通过一个映射文件与数据库的表建立了关系.持久化类的编写规则如下: 1.持久化类提供无参数构造:因为在hibernate的底层需要使用反射生成类的实例: 2.成员变量私有,提供共有get/set

使用oracle数据库和MySQL数据库时hibernate的映射文件.hbm.xml的不同

如果是使用oracle数据库,那么hibernate的映射文件.hbm.xml如下: <id name="xuehao" column="xuehao"> </id> 这个id不是数据库自动生成的,这需要注意:而且这些字段必须和实体类中相对应,实体类中还需要对应的get()方法和set()方法. 因为oracle数据库中的id都是自动生成的,所以这里不需要写数据库的id,这和MySQL数据库有很大区别:另外,MySQL数据库建表时必须指明id

hibernate.hbm.xml文件配置入门小结(1)

在Hibernate中,各表的映射文件xxx.hbm.xml可以通过工具生成,例如在使用MyEclipse开发时,它提供了自动生成映射文件的工具. hibernate.hbm.xml文件的基本结构如下: [html] view plain copy print? 1   <?xml version="1.0" encoding='UTF-8'?> 2 3   <!DOCTYPE hibernate-mapping PUBLIC 4        "-//Hi

hibernate 关系映射文件配置

<!--Department.hbm.xml users属性,本类与User的一对多 --> <set name="users"> <key column="departmentId"></key> <one-to-many class="User" /> </set> <!-- parent属性,本类与Department(上级)的多对一 --> <man