今天在弄一个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。
以上是我目前总结出来的,以后再有深入了解再详细说明。
?
?
本人才疏学浅,也没专门去查相关资料,写的也不是很详细,只是写出来给自己提个醒。当自己迷惑的时候还有个方向。
谢谢!
?
?