8hbm.xml详解

来源:互联网 发布:什么软件有哥特式字体 编辑:程序博客网 时间:2024/06/02 07:30
1对象/关系数据库映射文件
对象和关系数据库之间的映射通常用一个.hbm.xml文档来定义的。例如:
<?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">


<hibernate-mapping package="包名"> 
<class name="类名" table="表名">
           <id name="主键在java类中的字段名" column="对应表中字段" type="类型">
               <generator class="主键生成策略"/>

           </id>

http://blog.sina.com.cn/s/blog_163f91c5e0102wnyx.html
http://tieba.baidu.com/p/4665234070
http://tieba.baidu.com/p/4665257327

http://blog.sina.com.cn/s/blog_163f91c5e0102wnyx.html
http://tieba.baidu.com/p/4665234070
http://tieba.baidu.com/p/4665257327

ncrement,主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加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 数据库中。


0 0
原创粉丝点击