既然ID是唯一的,那肯定就能够通过findByPrimaryKey来找到相应的记录,
自然也就能获得其它的字段内容了。

解决方案 »

  1.   

    我有点疑问:find方法查询返回的只是id,并无其它字段,如何就能直接用bean的引用得到其它的字段内容,本人在这个问题上郁闷几天了,望高手赐教。你看看Home接口里定义的find方法的返回值就知道为什么了!
      

  2.   

    对啊,你看看Home接口里定义的find方法的返回值就知道为什么了,find 方法的返回值绝对不是一个id,而是一个interface或是一个interface的集合。
      

  3.   

    一般是这样的:
    Collection dd = home.findAll();
          Iterator xd = dd.iterator();
          while (xd.hasNext()) {
            Test v = (Test) xd.next();//TEST为你的远程接口.      
            下面就可以写你的TEST 里同定义的得到值的方法,如 V.GETNAME();           
          }
      

  4.   

    v.getXXX()返回的是内存中bean的属性字段值吧?是不是可以这样理解,当findByPrimaryKey()调用后,与PrimaryKey关联的id被读进内存,Contain发现PrimaryKey的变化,即调用ejbLoad方法同步与PrimaryKey关联的字段内容,相反如果内存中的bean view 相关的字段值发生变化,容器即自动调用ejbStore同步数据库相关的字段?
      

  5.   

    在EJB中ID代表的是一个EJB对象,你不要考虑成是数据库中的ID(虽然这是没错的)。而一个EJB对象代表的是数据库中一整条记录,当然包括了所有的字段,所以说你用find方法返回一个EJB对象后可以从中获得到所有字段的值。