这是我利用反向工具生成的User.hbm.xml
<hibernate-mapping>
<class name="com.hebut.dao.User" table="ADDBOOK" schema="SCOTT">
<id name="phonenum" type="java.lang.String">
<column name="PHONENUM" length="50" />
<generator class="sequence"></generator>
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="10" />
</property>
<property name="address" type="java.lang.String">
<column name="ADDRESS" length="50" />
</property>
</class>
</hibernate-mapping>
主键是phonenum,那么我将数据提交给数据库存储时为什么只有name和address能正确存储,而phonenum只是每次自增?我想要的是phonenum是可以自己输入的字符串,不想再给表设置一个专门的ID字段代替phonenum做主键,怎么解决。
Hibernate 自增
------解决方案--------------------
sequence换成assigned你就可以手动添加了,UUID即可生成你的随机字符串
------解决方案--------------------
ls正解,<generator class="sequence"></generator> 这个是增长方式,你可以查阅hibernate资料,换成你想要的任何一种方式。比如assign 自己分配