Hibernate的基本标签和映射

hibernate基本映射标签和属性

创新互联专注于企业全网营销推广、网站重做改版、博爱网站定制设计、自适应品牌网站建设、H5页面制作成都商城网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为博爱等各大城市提供网站开发制作服务。

1.标签

 
 
 
  1.          schema="schemaName"                          (1)  
  2.          catalog="catalogName"                        (2)  
  3.          default-cascade="cascade_style"              (3)  
  4.          default-access="field|property|ClassName"    (4)  
  5.          default-lazy="true|false"                    (5)  
  6.          auto-import="true|false"                     (6)  
  7.          package="package.name"                       (7)  
  8.  /> 

(1) schema (可选): 数据库schema的名称。

(2) catalog (可选): 数据库catalog的名称。

(3) default-cascade (可选 - 默认为 none): 默认的级联风格。

(4) default-access (可选 - 默认为 property): Hibernate用来访问所有属性的策略。可以通过实现PropertyAccessor接口 自定义。

(5) default-lazy (可选 - 默认为 true): 指定了未明确注明lazy属性的Java属性和集合类, Hibernate会采取什么样的默认加载风格。

(6) auto-import (可选 - 默认为 true): 指定我们是否可以在查询语言中使用非全限定的类名(仅限于本映射文件中的类)。

(7) package (可选): 指定一个包前缀,如果在映射文档中没有指定全限定的类名, 就使用这个作为包名。 假若有两个持久化类,它们的非全限定名是一样的(就是两个类的名字一样,所在的包不一样),应该设置auto-import="false".如果把一个“import”的名字对应两个类,Hibernate会拋出一个异常hibernate-mapping元素允许嵌套多个映射,但***的做法是一个持久化类对应一个映射文件,并以持久化的超类名称命名。如:Xxx.hbm.xml

2.标签

 
 
 
  1.         name="ClassName"                              (1)  
  2.         table="tableName"                             (2)  
  3.         dynamic-update="true|false"                   (3)  
  4.         dynamic-insert="true|false"                   (4)  
  5.         optimistic-lock="none|version|dirty|all"      (5)  
  6.         lazy="true|false"                             (6)  
  7. /> 

(1)name(可选):持久化类(或者接口)的Java全限定名。如果这个属性不存在,Hibernate将假定这是一个非POJO的实体映射

(2)table(可选-默认是类的非全限定名):对应数据库表名,生成DDL时数据表名,如果省略,则名称同持久化类名称

(3)dynamic-update(可选,默认为false):指定用于UPDATE的SQL将会在运行时动态生成,只更新那些被改过的字段

(4)dynamic-insert(可选,默认为false):指定用于insert的sql将会在运行时动态生成,并且只包含那些非空字段

(5) optimistic-lock(乐观锁定) (可选,默认是version): 决定乐观锁定的策略。

(6) lazy (可选): 通过设置lazy="false", 所有的延迟加载(Lazy fetching)功能将被全部禁用(disabled)。

3.标签

标签必须配置在标签的***个位置。由一个字段构成主键,元素定义了该属性到数据库表主键字段的映射

 
 
 
  1.     type="typename"             (2)  
  2.     column="column_name">        (3)  
  3.     length="length">             (4)  
  4.        
  5.  

(1)name:实体类的属性名字

(2)type:标识Hibernate类型的名字(省略则使用Hibernate默认类型),也可以自己配置类型(integer,long,short,float,double,character,byte,boolean,yes_no,true_false)

(3)column(可选-默认为属性名):主键字段的名字(省略则取name为字段名)

(4)length(可选):当type为varchar时,设置字段长度

元素(主键生成策略)

主键生成策略必须配置,用来为该持久化类的实例生成唯一的标识。

uuid:

用一个128-bit的UUID算法生成字符串类型的标识符,这在一个网络中是唯一的(使用了IP地址),UUID被编码为一个32位16进制数字的字符串,它的生成是由Hibernate生成,一般不会重复UUID包含:IP地址,JVM的启动时间,系统时间和一个计算器值。

native:

根据底层数据库的能力选择identity,sequence或者hilo中的一个(数据库自增)

assigned:

让程序在save()之前为对象分配一个表示符。这是元素没有指定时的默认生成策略。(如果是手动分配,则需要设置此配置)

5.标签

用于映射普通属性到表字段

 
 
 
  1.      name="propertyName" 
  2.      column="column_name" 
  3.      type="typename" 
  4.      length="" 
  5.      unique="" 
  6.      not-null="" 
  7.  >  
  8.  

注:如果实体类和实体类中的属性和SQL中的关键字重复,必须采用table或column重新命名

6.Hibernate完整映射实例:

 
 
 
  1.  
  2.     "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
  3.     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  4.  
  5.       
  6.       
  7.           
  8.           
  9.               
  10.               
  11.           
  12.           
  13.           
  14.           
  15.           
  16.           
  17.       
  18.  

原文链接:http://blog.csdn.net/fengxuezhiye/article/details/7368865

网站名称:Hibernate的基本标签和映射
转载来源:http://www.shufengxianlan.com/qtweb/news27/292277.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联