补充说明,我用的是JBuilder2005和weblogic7.0
ejb-jar.xml文件如下:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
  <display-name>bookentity</display-name>
  <enterprise-beans>
    <entity>
      <ejb-name>BookItem</ejb-name>
      <local-home>bookstoreejb.BookItemHome</local-home>
      <local>bookstoreejb.BookItem</local>
      <ejb-class>bookstoreejb.BookItemBean</ejb-class>
      <persistence-type>Container</persistence-type>
      <prim-key-class>java.lang.String</prim-key-class>
      <reentrant>False</reentrant>
      <cmp-version>2.x</cmp-version>
      <abstract-schema-name>BookItem</abstract-schema-name>
      <cmp-field>
        <field-name>bookname</field-name>
      </cmp-field>
      <cmp-field>
        <field-name>author</field-name>
      </cmp-field>
      <cmp-field>
        <field-name>price</field-name>
      </cmp-field>
      <primkey-field>bookname</primkey-field>
      <query>
        <query-method>
          <method-name>findAllBook</method-name>
          <method-params />
        </query-method>
        <ejb-ql>SELECT OBJECT(book) FROM BookItem AS book</ejb-ql>
      </query>
    </entity>
    <entity>
      <ejb-name>Orderinfo</ejb-name>
      <local-home>bookstoreejb.OrderinfoHome</local-home>
      <local>bookstoreejb.Orderinfo</local>
      <ejb-class>bookstoreejb.OrderinfoBean</ejb-class>
      <persistence-type>Container</persistence-type>
      <prim-key-class>java.lang.String</prim-key-class>
      <reentrant>False</reentrant>
      <cmp-version>2.x</cmp-version>
      <abstract-schema-name>Orderinfo</abstract-schema-name>
      <cmp-field>
        <field-name>orderid</field-name>
      </cmp-field>
      <cmp-field>
        <field-name>custname</field-name>
      </cmp-field>
      <cmp-field>
        <field-name>address</field-name>
      </cmp-field>
      <cmp-field>
        <field-name>eMail</field-name>
      </cmp-field>
      <cmp-field>
        <field-name>booklist</field-name>
      </cmp-field>
      <cmp-field>
        <field-name>price</field-name>
      </cmp-field>
      <primkey-field>orderid</primkey-field>
      <query>
        <query-method>
          <method-name>findAllOrder</method-name>
          <method-params />
        </query-method>
        <ejb-ql>SELECT OBJECT(order) FROM Orderinfo AS order</ejb-ql>
      </query>
    </entity>
    <message-driven>
      <ejb-name>orderMDB</ejb-name>
      <ejb-class>bookstoreejb.orderMDBBean</ejb-class>
      <transaction-type>Container</transaction-type>
      <message-driven-destination>
        <destination-type>javax.jms.Queue</destination-type>
      </message-driven-destination>
      <ejb-local-ref>
        <ejb-ref-name>ejb/Orderinfo</ejb-ref-name>
        <ejb-ref-type>Entity</ejb-ref-type>
        <local-home>bookstoreejb.OrderinfoHome</local-home>
        <local>bookstoreejb.Orderinfo</local>
        <ejb-link>Orderinfo</ejb-link>
      </ejb-local-ref>
    </message-driven>
    <session>
      <ejb-name>facade</ejb-name>
      <home>bookstoreejb.facadeHome</home>
      <remote>bookstoreejb.facade</remote>
      <ejb-class>bookstoreejb.facadeBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
      <ejb-local-ref>
        <ejb-ref-name>ejb/BookItem</ejb-ref-name>
        <ejb-ref-type>Entity</ejb-ref-type>
        <local-home>bookstoreejb.BookItemHome</local-home>
        <local>bookstoreejb.BookItem</local>
        <ejb-link>BookItem</ejb-link>
      </ejb-local-ref>
      <ejb-local-ref>
        <ejb-ref-name>ejb/Orderinfo</ejb-ref-name>
        <ejb-ref-type>Entity</ejb-ref-type>
        <local-home>bookstoreejb.OrderinfoHome</local-home>
        <local>bookstoreejb.Orderinfo</local>
        <ejb-link>Orderinfo</ejb-link>
      </ejb-local-ref>
    </session>
  </enterprise-beans>
  <assembly-descriptor>
    <container-transaction>
      <method>
        <ejb-name>BookItem</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
      <method>
        <ejb-name>Orderinfo</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
      <method>
        <ejb-name>orderMDB</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
      <method>
        <ejb-name>facade</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
  </assembly-descriptor>
</ejb-jar>

解决方案 »

  1.   

    weblogic-cmp-rdbms-jar.xml文件如下:<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-rdbms-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 7.0.0 EJB RDBMS Persistence//EN" "http://www.bea.com/servers/wls700/dtd/weblogic-rdbms20-persistence-700.dtd">
    <weblogic-rdbms-jar>
      <weblogic-rdbms-bean>
        <ejb-name>BookItem</ejb-name>
        <data-source-name>myTxDataSource</data-source-name>
        <table-map>
          <table-name>BOOK</table-name>
          <field-map>
            <cmp-field>bookname</cmp-field>
            <dbms-column>BOOKNAME</dbms-column>
          </field-map>
          <field-map>
            <cmp-field>author</cmp-field>
            <dbms-column>AUTHOR</dbms-column>
          </field-map>
          <field-map>
            <cmp-field>price</cmp-field>
            <dbms-column>PRICE</dbms-column>
          </field-map>
        </table-map>
      </weblogic-rdbms-bean>
      <weblogic-rdbms-bean>
        <ejb-name>Orderinfo</ejb-name>
        <data-source-name>myTxDataSource</data-source-name>
        <table-map>
          <table-name>ORDERINFO</table-name>
          <field-map>
            <cmp-field>orderid</cmp-field>
            <dbms-column>ORDERID</dbms-column>
          </field-map>
          <field-map>
            <cmp-field>custname</cmp-field>
            <dbms-column>CUSTNAME</dbms-column>
          </field-map>
          <field-map>
            <cmp-field>address</cmp-field>
            <dbms-column>ADDRESS</dbms-column>
          </field-map>
          <field-map>
            <cmp-field>eMail</cmp-field>
            <dbms-column>E_MAIL</dbms-column>
          </field-map>
          <field-map>
            <cmp-field>booklist</cmp-field>
            <dbms-column>BOOKLIST</dbms-column>
          </field-map>
          <field-map>
            <cmp-field>price</cmp-field>
            <dbms-column>PRICE</dbms-column>
          </field-map>
        </table-map>
      </weblogic-rdbms-bean>
    </weblogic-rdbms-jar>