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>