日期:2014-05-16  浏览次数:20528 次

hibernate映射主键
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="cn_hbm_id">

<class name="User" table="user">

<id name="id">
<!-- 主键生成策略 -->

<!--
identity:表示使用数据库的自动增长。只有部分数据库支持,如DB2,MySQL,MS SQL Server,Sybase 和 HypersonicSQL等。
<generator class="identity"></generator>
-->

<!--
increment:由Hibernate维护的自动增长,在多线程环境不能使用(可能生成重复的id)!!
<generator class="increment"></generator>
-->

<!--
hilo:使用高低位算法生成主键,需要一张额外的表。
任何数据库都可以使用这个策略。
<generator class="hilo">
                <param name="table">hi_value</param>
                <param name="column">next_value</param>
                <param name="max_lo">100</param>
       </generator>
-->

<!--
native:根据底层数据库的能力选择 identity、sequence 或者 hilo 中的一个。
<generator class="native"></generator>
-->

<!--
assigned:我们自己指定主键值。
<generator class="assigned"></generator>
-->

<!--
uuid:由Hibernate生成的UUID做为主键。
-->
<generator class="uuid"></generator>


</id>

<property name="name"></property>
</class>


</hibernate-mapping>