不是吧,好像得调用ejbStroe才能存到数据库里

解决方案 »

  1.   

    老兄,ejbStore()是容器调用的!!从服务的输出来看它确实调用了但关键问题是没有把数据存到数据库里!
      

  2.   

    http://expert.csdn.net/Expert/topic/1833/1833652.xml?temp=.868664
      

  3.   

    你说的这种情况不会出现。
    如果数据库中无表,CMP操作不可能成功返回。原因或许是你察看的数据库表不是实际容器关联的那个。
    你仔细确认你察看的表是否是对应你的CMP的!
    确认你检查的数据库用户是否是你的CMP使用的!
    (还有你在部署时是否选择了自动创建表,如果那样的话某些厂商的EJB容器会用自己的命名方式自动为你创建表)
      

  4.   

    看看你自己jboss对数据库的mapping最否对应。通常这类问题是ejb指定的field与database的字段不对应,就会出现你这种情况。
      

  5.   

    如果你没绑定数据源会使用默认得数据源,而且会为你临时创建一个product的表。你在JBoss端的输出查看一下是否有说创建了临时表product或是说product已经创建的语句,那么就是用了默认得数据源了
      

  6.   

    你用的是什么数据库?
    我用的是 Apusic + MS SQL SERVER 2000,能存取数据库.
      

  7.   

    <<mastering ejb>>中的这个例子我以前用weblogic+mysql做过,你注意书中的例子只是为了演示,最后它把生成的ejb都给remove了,remove意味着数据库中的记录也被delete了,同时ejb本身进入bean pool,如果不remove哪个ejb,那么与之相对应的表中的数据也就存在,cmp与database records是视图的关系,是一体的,不知道我说清楚没有.