hibernate相关generator的设置

hibernate有关generator的设置

今天在弄一个SSH框架的增删改查的简单功能,结果在一个主键设置方面弄了N小时!

原因是我对hibernate还不熟悉。

 

 

<id name="pkId" type="java.lang.Integer">
            <column name="PK_ID" />
            <generator class="identity" />
        </id>

 <generator>的设置很关键,目前我主要遇到的情况就是系统自增长或是我给他赋值。


网上也有很多资料,其中的正确性没去验证,我就说说我遇到的验证过的情况吧。


如果数据库设置了自动增长,并且你也希望他是自增的,则hibernate就要设置identity.

(网上有资料说identity是采用数据库提供的主键生成机制。如DB2、SQL   Server、MySQL   中的主键生成机制。)


如果数据库没有设置为自动增长,但是你又希望他是自动增长的,则hibernate就要设置为increment.


如果你要设置为赋值方式的,则······具体问题具体分析。一般就是assigned、native


以上是我目前总结出来的,以后再有深入了解再详细说明。

 

 

本人才疏学浅,也没专门去查相关资料,写的也不是很详细,只是写出来给自己提个醒。当自己迷惑的时候还有个方向。

谢谢!