L是指Local吧?本地数据类型!?

解决方案 »

  1.   

    你的entityBean是不是用了本地视图啊?
      

  2.   

    我不清楚那个mapping是什么作用
    我用的是remote,那个xml文档中默认的mapping是local,我改成remote问题依旧
      

  3.   

    你肯定你的bean实现中有ejbFindExactly(.....)?
      

  4.   

    /-----------------------------------
    首先问题第一个问题:
    -->为什么对象前面都加个L什么意思?注意这个“L”是用在java JNI中的用来表示一个完整的类型(就是全路径),而不是什么"Local"的意思,你要是熟悉JNI就明白了,简单一点说
    就是下面这样的格式:
    Lxx/xxx/xxxx;注意了由于JAVA内部存在一些转换的机制,所以就转换成象你这样这样的点“.”语法了。还有就是一般来说在JAVA中如果需要传递类似形式的参数,几乎都是采用点“.”语法的,除了在JNI中。
      

  5.   

    RMI错误是最难调试的。/---------------------------
    根据我个人的经历来看,主要有下面几种可能:
    (1)存根或者代理没有实现,或者是没有找到。
    (2)引用不存在的方法。
    (3)传递引用,但是引用类型没有实现Serializable接口或者是实现Remote接口。因为这样是不能列集或者散集的。我觉得你的问题更(3)关系最大。
      

  6.   

    看看ejb-jar在jb中即使你是用remote调用的entity,在Finder的deployment discriptor中,仍然是
    <result-type-mapping>Local</result-type-mapping>
    试试把Local改为Remote
      

  7.   

    result-type-mapping 指定了返回的是EJBLocalObject或EJBObject的对象,所以你用local interface就要设为local,用remote interface就要设为remote,主要问题在与,不清楚jb为什么不会根据bean的属性自动设置result-type-mapping,默认都是local