Hibernate怎么才能让主键不自增?

chenxyz707 2013-04-27 01:38:55
这是我利用反向工具生成的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做主键,怎么解决。
...全文
287 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenxyz707 2013-04-27
  • 打赏
  • 举报
回复
昨晚试了assigned,jsp页面phonenum text的name定义成了phoneNum,所以添加失败了。看来还不够细心啊。谢谢各位。
乖摸摸头 2013-04-27
  • 打赏
  • 举报
回复
去掉<generator class="sequence"></generator>这行就可以了
lvzg_005 2013-04-27
  • 打赏
  • 举报
回复
引用 1 楼 xd1211 的回复:
sequence换成assigned你就可以手动添加了,UUID即可生成你的随机字符串
ls正解,<generator class="sequence"></generator> 这个是增长方式,你可以查阅hibernate资料,换成你想要的任何一种方式。比如assign 自己分配
程序猿大哥 2013-04-27
  • 打赏
  • 举报
回复
sequence换成assigned你就可以手动添加了,UUID即可生成你的随机字符串

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧