cmp中定好了cmr域以后,都是级连更新的呀。跟一般处理有什么区别么?

解决方案 »

  1.   

    to CoolAbu(阿卜-Never Stop(★★★★):
      不是呀,是不是不可以在ejbCreate()方法里走直接更新作为外键的字段呀?
    我直接用就出现如下错误:
    javax.ejb.EJBException: [EJB:010145]When a cmp-field and a cmr-field (relationship) are mapped to the same column, the setXXX method for the cmp-field may not be called. The cmp-field is read-only.
      

  2.   

    如果我在ejbCreate中不对作为外键的字段set
    而在ejbPostCreate中对cmr字段进行set则会出现以下错误:
    javax.ejb.EJBException: EJB Exception: : java.lang.NullPointerException at weblogic.ejb20.cache.CacheKey.(CacheKey.java:35) at weblogic.ejb20.manager.DBManager.create(DBManager.java:1176) at weblogic.ejb20.manager.DBManager.localCreate(DBManager.java:1100) at weblogic.ejb20.internal.EntityEJBLocalHome.create(EntityEJBLocalHome.java:171) at scoremanage.StuCoursePlan_p765zk_LocalHomeImpl.create(StuCoursePlan_p765zk_LocalHomeImpl.java:92) at jsp_servlet.__courseplanmanage._jspService(__courseplanmanage.java:189) at weblogic.servlet.jsp.JspBase.service(JspBase.java:33) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) ; nested exception is: java.lang.NullPointerException
      

  3.   

    在ejbPostCreate中对cmr字段进行set也有错误,这样我就不清楚了!
    帮你up吧!
      

  4.   

    在ejbCreate中不对作为外键的字段set
    而在ejbPostCreate中对cmr字段进行set如果是只有一个关联的情况下,可以成功。但是现在两个就出错啦,
      

  5.   

    帮你UP吧,现在你的CMP比我的要好了。;)
      

  6.   

    ejbPostCreate中分别对cmr字段进行set试一试.....然后一起 set试一试(注意set顺序)
      

  7.   

    to  centgo(我就是我) :
       多谢指点,不过我不明白,你所说的"一起set"是什么意思?
      

  8.   

    1.
    setForeignKey1(value);
    setForeignKey2(value);
    2.
    setForeignKey2(value);
    setForeignKey1(value);在ejbPostCreate中设置外健值完全可以的,  
    你的异常或者是因为数据库的关联限止的关系