« Struts+Spring+Hibernate整合笔记« »测试WLW插件 »
Hibernate管理表外键以及自动增长列的问题

今天在做用户添加的过程中遇到不少问题,所幸在下班之前都解决了,下面我来说说解决过程和原因吧。
1.Hibernate自动映射外键字段的解决办法

经常的表中会有外键字段,使用Hibernate自动映射时它会将这一字段设置成一个Many-to-One之类的类型,与之对应的又是另一个持久化类。而实际上在页面上添加数据时,这些外键的数据已经获取好了,不需要再去获取列表。解决办法就是把这些Many-to-One之类的字段改为我们常用的实际数据类型,切换到数据视图,找到所对应的表,重新生成文件,在弹出的窗口中连续点击两次“Next”到最后一个界面,会看到“Generate support for ListedTable(fk)->UnlistedTable”和“Generate support for UnlistedTable(fk)->ListedTabdle”这两项是打勾的,将其去掉后,按“Finish”重新映射该表,可以发现原先那些“Many-to-One”之类的字段已经被替换成实际的数据类型了。

2.表主键为字符型时,传递的字符没有问题,但是到数据库后却变成了一个数字。

通常映射表后,有主键列在映射文件里以ID的形式存在,另外还有一项:<generator class="sequence" />这是说明这个字段作为自动增长列的算法,需要再次说明一下,MySQL中使用的是Native,而在Postgre和Oracle数据库中要使用sequence。至于为什么,说来话长;解决办法,就是将上面的那句话去除即可,如此数据库将会把接收到的字符原原本本地插入表中。
 


Tags: Hibernate  

原创文章如转载,请注明:转载自:飞扬部落编程仓库 : http://www.busfly.net/csdn/

本文链接地址:http://www.busfly.net/csdn/post/607.html

如果你喜欢本文,请顶一下,支持我,你的支持是我继续发好文章的最大动力。谢谢。
好东西需要分享,快把本文发给你的朋友吧~!~

     
相关文章:




◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
Feed订阅集
网站分类
勤劳致富^.^
最近发表
最新评论及回复
最近留言
随机推荐文章
Powered By Z-Blog   STYLE by busfly . FatMouse
Copyright © 2007 巴士飞扬技术博客. . 沪ICP备07027972号. 会员群1(VS为主):3769186.