Hibernate-helloworld-2 hbm.xml配置及其属性说明
2018-03-23 14:37
429 查看
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- hbm.xml文件与描述类存放在同一个文件夹下 四部分配置: (1)类和表的映射 (2)主键的映射 (3)类的属性和DB中字段的映射 (4)关系的映射 --> <!-- hbm.xml (hibernate-mapping元素配置)根元素配置 <hibernate-mapping schema = "schemaName" 为表限定数据库名称 catalog = "catalogName" mysql不支持 default-cascade = "cascade_style" Hibernate用来访问所有属性的策略 default-access = "field propertyly ClassName" default-lazy = "true/false" 默认为true auto-import = "true/false" 默认为true,指定我们是否可以在查询语言中使用非 全限定的类名 package = "package.name" 指定一个包前缀,如果在映射文档中没有指定全限定的类 名, 就使用这个作为包名。 > </hibernate-mapping> (class)元素配置 <class name = "ClassName" 需要被映射的java对象 table = "tableName" 被映射的表的表明 ></class> (id)元素配置 java对象的成员属性对应 表中的primary key <id name = "propertyName" 标识属性的名字 type = "typeName" 标识hibernate类型的名字 column = "columnName" 主键字段的名字 unsaved-value = "null | any | none | undefined | id_value" 一个特定的标识属性值,用来标志该实例是刚刚创建的,尚未保存。但在h4h后不再需要。 access = "field property ClassName" hibernate用来访问属性值的策略 > <generator class = "generatorClass"> </id> 关于type,既不是java的类型,也不是数据库的类型。而是hibernate提供的内建类型。 1. interger, long, short, float, double ,character, byte 对应java基础类型 2. boolean,yes_no, true_false ->java中的boolean 3. string -> java.lang.String 4. date, time, timestamp (java中的 java.util.Date, SQL中date,time,timestamp) 5. calendar。 calendar_date (java中的java.util.Calender, SQL中timestam,date) 6. big_decimal, big_integer ( java中java.math.bigDecimal, SQL中numeric ) 7. local. timezone, currency 8. class ( java.lang.Class , SQL中 varchar ) 9. binary ( java中 字节数组, SQL二进制类型 字节流数据 ) 10. text ( java字符串 , SQL中的clob,text 字符型数据 ) 11。 clob, blob 对应java中的 java.sql.Clob, java.sql.Blob <id>的子元素 <generator>是一个java类的名字,用来为该持久化类的实例生成唯一标识。 如果这个生成器实例需要某些配置值或者初始化参数,使用<param>元素来传递。 <id name="id" type 4000 ="long" column="person_id"> <generator class="sequence"> <param name="sequence"> person_id_sequence </param> </generator> </id> <generator>实例生成器 class="..."指定Hibernate的内置生成器。 1. increment 用于为long, short或者 int类型生成唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。 在集群下不要使用。 2. identity 返回的表示符是 long,short, int类型。 3. sequence 4. seqhilo, uuid, guid, native, assigned, select, foregn (property)元素配置 <property name = "propertyName" //java对象的属性名称 type = "typename" //type 字段的类型 column = "columnName" //column 表中字段名字 update = "true / false" insert = "true / false" formula access lazy unique not-null optimistic-lock true/false generated > </property> update/insert 用于update,insert的SQL语句中是否包含这个被映射了的字段。 formula: 一个SQL表达式,定义了这个计算属性的值,相当于子查询。 access: Hibernate访问属性值的策略。默认情况下是getter,setter.如果设置 access="field",那么Hibernate直接使用反射来访问成员变量。 lazy : 是否延迟抓取该属性 unique: 为该字段添加唯一的约束。 not-null: 添加不为null的约束 optimistic-lock : 指定这个属性在做更新是是否需要获得乐观锁。即这个属性发生脏数据时。 版本的值是否增长。 generated: 默认值never,表明此属性值是否由数据库生成 --> <!-- 1.设置包名 --> <hibernate-mapping package="user"> <!-- 2.设置要映射的类名name,与表名table --> <class name="cn.zm.dao.UserAccount" table="test"> <!-- 3.设置主键name,类型type ,对应表中字段column (不写则默认相同) --> <id name="uuid" type="java.lang.String"> <!-- 4.主键生成策略 class --> <generator class="assigned"></generator> </id> <!-- 5.普通属性的映射 name属性名,type类型,column对应表中的字段名 --> <property name="userId"></property> <property name="name"></property> <property name="age"></property> </class> </hibernate-mapping> <!-- property中常用属性 1. name : 对应java类的属性名称 2. column: 对应的表中的字段 3. type: 属性的类型 int ,string等 4. not-null: 设置该属性是否为空,为true时表示非空,默认是false 5. length 字段的长度限制 -->
相关文章推荐
- Hibernate-helloworld-1 hibernate.cfg.xml配置及其属性说明
- Hibernate建立关系配置(hbm.xml)bag中cascade属性
- hibernate的.hbm.xml文件文件配置属性详解
- Servlet的生命周期及其常用覆盖方法的说明 以及在web.xml中配置servlet的属性说明
- Hibernate的映射配置文件*.hbm.xml文件中class和property元素的各属性意义和设置
- hibernate.hbm.xml配置文件内容说明
- hibernate中xxx.hbm.xml配置中length属性
- 根据hibernate.cfg.xml配置文件和相应实体类及其.hbm.xml文件生成对应的数据库表
- hibernate.cfg.xml 中hbm2ddl.auto属性配置说明
- Hibernate的映射文件(hbm.xml)属性说明
- Hibernate(七):*.hbm.xml配置文件中Set三个属性
- Hibernate框架中hibernate.properties属性文件,hibernate.cfg.xml配置文件,以及Users.hbm.xml映射文件的配置
- Hibernate的hbm.xml文件中相关属性说明
- Hibernate配置文件:hibernate.cfg.xml常用属性说明
- Hibernate3.5.4---java application的xml和annotation环境搭建(hibernate.cfg.xml配置文件说明,映射文件Student.hbm.xml说明
- Hibernate的映射文件(hbm.xml)属性说明
- Hibernate3.5.4---java application的xml和annotation环境搭建(hibernate.cfg.xml配置文件说明,映射文件Student.hbm.xml说明)
- Hibernate的映射文件(hbm.xml)属性说明
- hibernate hbm.xml配置文件说明
- Hibernate建立关系配置(hbm.xml)bag中cascade属性