HIBERNATE 的外键问题,请大家帮忙! 用HIBERNATE开发的项目,可不可以不建立主外键的关系,所有的表都是独立的,而在程序中用事务来保证数据的完整性?请大家指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果表间的主外键的关系都交给事务来管理的话,那麽HIBERNATE还有什麽优势呢? 是不是HIBERNATE的项目都要建立表的主外键关联,而不是将这种关联交由事务来处理呢?请大家帮忙解答 可以通过hibernate来配置多表之间的主外键之间的关系的 我只知道一点是可以的,就是两张不存在主外键关系的表,可以采用隐式查询来连接两张表的数据. 例如: select .... from A a , B b where a.id=b=id但至于通过事务管理来取代主外键的设置,个人认为不可取 为什麽在HIBERNATE项目里,用事务来取代主外键关系来保证数据的完整性不好呢?很多数据库的表都没有设置外键,而是在程序中自己控制的呀。:( 但外键会影响效率,有时还会造成死锁。如果在HIBERNATE里不建外键的话,xml配置文件要简单得多,我个人觉得维护起来会方便些。至于后期维护时只要看一眼程序就会明白主外键的关联关系,而且项目都会有文档来参考。 配置文件是少了很多 one to many many to one 等关系映射全部单表 事务控制 可以是可以 还是感觉怪怪的 嘿嘿不过这样的话 HIBERNATE里提供的很多APIS 都不好用了关联操作都要通过手动去完成而且这样的库表本身设计感觉就不是很合理其实你的问题不是HIBERNATE的问题是数据库表设计时 觉得 主外键约束很麻烦 完全不要约束的问题哦 很多开源的没有用HIBERNATE的项目的数据库设计都是单表(如:jive),所以我觉得HIBERNATE开发也可以是单表,虽然HIBERNATE提供了很方便主外键的配置方法。 呵呵可以是可以用的 只是hql语句 使用的时候 还有级联操作的时候 会稍微复杂点 axis2发布webservice的方法 想系统地看一下正则表达式,请大家推荐几本经典书籍,谢谢 一个jdbc封装问题 Jquery和struts2的结合使用问题!!!! https://127.0.0.1:8080/login.do 移植后无法运行 于jfreechart 画拆线图时存在空数据的问题请教大家 struts2处理中文解决反方案 请教一个基础的ibatis问题。 sf 新手菜鸟,配置SSH出现的问题,跪求大牛们给小弟指点一二 请教webservice配置问题 求大家看个问题??
例如: select .... from A a , B b where a.id=b=id但至于通过事务管理来取代主外键的设置,个人认为不可取
很多数据库的表都没有设置外键,而是在程序中自己控制的呀。:(
如果在HIBERNATE里不建外键的话,xml配置文件要简单得多,我个人觉得维护起来会方便些。
至于后期维护时只要看一眼程序就会明白主外键的关联关系,而且项目都会有文档来参考。
全部单表 事务控制 可以是可以 还是感觉怪怪的 嘿嘿
不过这样的话 HIBERNATE里提供的很多APIS 都不好用了
关联操作都要通过手动去完成
而且这样的库表本身设计感觉就不是很合理
其实你的问题不是HIBERNATE的问题
是数据库表设计时 觉得 主外键约束很麻烦 完全不要约束的问题哦