论坛首页 Java企业应用论坛

大家对hibernate 级联的必要性是怎么个看法

浏览 11054 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2014-03-20  
只承认hibernate优秀的编码,但矛盾也很突出。
hiberente在新增对象中,必须修改前者对象的关联关系,一对多。

这个设计是双刃剑,它已经严重违反呢开闭原则。
当新增业务时,对以前的代码关闭,不用修改以前的代码。
0 请登录后投票
   发表时间:2014-03-26  
hibernate对高可维护性和高开发效率方面没什么帮助。  都在dao这一层就对上层屏蔽实现细节,只暴露接口了。 从dao接口的上层看来,能有什么区别。

再说dao层,不用hibernate的dao同样具有很好的可维护性和高开发效率。 用了反而增加一些复杂度。降低执行效率我不是很有把握都不太敢说,但我觉得提升执行效率是不太可能了。

加之处理数据库表sharding等问题的时候,天生用的就不是面向对象的思维,何必硬要追求数据访问层的“面向对象感”?



0 请登录后投票
   发表时间:2014-03-26  
ThinkingQuest 写道
hibernate对高可维护性和高开发效率方面没什么帮助。  都在dao这一层就对上层屏蔽实现细节,只暴露接口了。 从dao接口的上层看来,能有什么区别。

再说dao层,不用hibernate的dao同样具有很好的可维护性和高开发效率。 用了反而增加一些复杂度。降低执行效率我不是很有把握都不太敢说,但我觉得提升执行效率是不太可能了。

加之处理数据库表sharding等问题的时候,天生用的就不是面向对象的思维,何必硬要追求数据访问层的“面向对象感”?






这种说法,我认同。
0 请登录后投票
   发表时间:2014-04-27  
1. 为什么要用?
Hibernate 简化了我们的开发,试想一下,保存一个实体,你是觉得 session.save(object)
方便还是写JDBC或者ibatis的 Insert into t_table values (...)方便?

2. 级联要不要用?
级联可以方便我们编程。对于数据完整性,一至性要求比较严格的系统来说。如果不用级联控制,就必须人为的在程序中控制,这会增加了我们工作的负担,并且还容易出错。

所以要不要用,怎么用?就得具体情况具体分析了。
0 请登录后投票
   发表时间:2014-04-28  
被判孤寂 写道
1. 为什么要用?
Hibernate 简化了我们的开发,试想一下,保存一个实体,你是觉得 session.save(object)
方便还是写JDBC或者ibatis的 Insert into t_table values (...)方便?


在开发上,大家都用代码生成器,方便程度差不多。
在理解和修改,复杂的多表关联查询,sharding等等众多方面上,显然是jdbc的insert into方便的多。
0 请登录后投票
   发表时间:2014-04-28  
回帖切磋是一种美德,呵呵
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics