方案2好啊,只用查询一次数据库。你用debug模式走走连数据库的语句,看看连一次数据库开销多大!

解决方案 »

  1.   

    方案一:
        Order中设一个成员userID(int型),代表用户编号,
        当需要得到用户的名字时,先order.getUserID() 再用这个ID
        另外再调用另外的方法(需要再次连接数据库),再取得名字此方法改成写一个方法进行连合
    如:String sql = "select a.deptno,b.dname form emp a, dept b where a.ename = 'scott';";
      

  2.   

    HIBERNATE里面经常碰到这样的问题,看你的需要了~~
    一般我都是用方案2
      

  3.   

    wjr1982et(亲爱的,你慢慢飞!) 说的不错!
      

  4.   

    我认为用ejb的bmp解决此类问题比较好,程序员不必涉及太多主外键关系问题,一切交给ejb容器去做.