3. hibernate3的nativesql 做查询 然后 追加与查询有关的类,不仅查询灵活,而且不破坏缓存机制,真不知道关联有什么好处,除了避免关联查询 

解决方案 »

  1.   

    1。ejb 中,外键关联是必选的么?如果一条纪录中,包含了多个外键,每个外键都要创建这个外键对应的对象,这个是不是影响ejb性能的最大因素? 
    如果你说的是EJB3.那么EJB3中的JPA是用iBatis或Hibernate3做实现的.一般都有一级缓存二级缓存的功能.不会影响多少性能.(在某些情况下)2。hibernate中,主键表转化成类以后,会产生一个或多个hash set 这个hash set 的大小与和这个主键表有关联的外键表的数量决定,那么,我怎么觉得这个hash set没有用啊?大家是什么观点? 
    那么这个问题,一般按照面向对象的想法是one的一方持有多的一放的数据.可以用one的一方获取下属的所有相关数据.这个本人认为还是相当有用的对于第三个问题.关联还是有好处的..可以用面向对象的方式去思考.关于性能:个人认为性能可以再扩展.而如果程序的可扩展性都没有.那么程序就被做死了..而且.把对象抽象出来的过程中就会放弃一部分性能.所以.本人还是觉得扩展性的考虑应该优于性能方面的考虑
      

  2.   

    楼上的朋友, phyeas 你对于第二个问题的回答,具体的用处体现在什么地方????,好像有没有这个hash set 代码也不会有变化你对于第三个问题的回答,即使没有关联,也是面向对象的
      

  3.   

    本人不敢苟同 bojianyu 的观点:--- Hibernate之所以成功的原因之一就是因为有了数据关联带来了性能上的很大提高!只要关联得当,性能肯定大大提高,反之,还不如使用jdbc。----我认为成功的原因是 单个字段的操作-〉对象的操作,使得数据的CRUD屏蔽 INSERT UPDATE 的细节,从而提高开发效率就是因为有了数据关联带来了性能上的很大提高!,我还是认为关联会降低性能
      

  4.   

    -----------
    2、 配置文件中外健的配置方式对性能的影响在写*.hbm.xml配置文件时,多考虑业务上的需要,看看表现层是否真的需要显示关联信息。 比如合同表中存在employeeid外健,因为表现层需要显示,所以需要配上多对1等配置,如果,页面不一定需要显示,则只配成外健性能更好些。
    ------------这是我看的一篇关于影响hibernate性能的文章,再一次证明了关联会降低运行效率(能提高开发效率我不否认)