新项目需要使用ssh架构
但是前台页面显示信息的时候,很多都涉及到联表查询
比如用户信息的内容,需要在显示不同业务信息的时候都要同时显示出来
是要在用户信息表的配置文件中设置很多一对一吗?
类似的问题在很多表中都会出现,这种问题怎么处理?
对一个表设置过多表关联是不是会影响性能,请大家指教

解决方案 »

  1.   

    类似于用户信息表这种和多个表有关联的有很多
    都会建很多关联的
    就算用延时加载我也觉得很别扭
    之前没用过hibernate,这种多表关联有其他解决方案吗
      

  2.   

    hql left join 不一定所有属性都得查 也不一定非得一查查出关联表所有的属性
    多个关联的确会影响性能 但是前提是采取默认的查询方式
      

  3.   


    LZ可以看些HIBERNATE的手册 有些方法记不住 但至少咱们应该了解下 我很多方法就不知道 所以用的时候很别扭 等到知道的时候就晚了另外 LZ可以看下formlua这个东西..
      

  4.   

    重新去配置关系感觉比较麻烦,性能上会有影响
    hibernate上面的关系感觉不是一开始设计好,重新去加的话,感觉还不如不用的好
    SQL上修改下就差不多了
      

  5.   

    懒加载 left join 实现不了换SQL 
      

  6.   

    7楼的意思是hibernate和sql一块用吗
      

  7.   

    User-Resource
    1.在查询出User时要对每个User查出Resource
    可以不要延迟加载.
    2.但如果只查出User而Resource不要,就要延迟加载.
    如果项目中存在这两种状况,如何解决呢?
    在抓取策略中,针对1,可以设置连接查询,每次都加载使用Join查询,而不用Select再发一条.
    可是如果这样,有时出现2的情况,那Resource根本就是多余的.因为只需要User这样浪费了资源.到后面觉得全部延迟,如果需要关联属性,就在程序里再处理.调用一次查询.
    顶. 希望高手解决.
      

  8.   

    不是不可以 不过你也可以专门为某些查询去建立一个实体 也可以用view
    http://blog.163.com/zhongweizhang/blog/static/9348695200911811136981/