Hi, I am trying to use CMP for entity bean for a simple database table having three columns, namely, cust_id(int), item_code(varchar2), quantity(int). While I am genetrating the Jar file, I am getting the incompatible ERROR. I could not understand where exactly the error is: My code is as under:
Please help me out.
Smitha
=================================================================
REMOTE INTERFACE
<--------------->
package ejb.entityBean.containerManaged.testing;
import java.sql.*;
import java.rmi.RemoteException;
public interface Order extends javax.ejb.EJBObject {
public void setQuantity(int quantity) throws RemoteException;
public int getCustID() throws RemoteException;
public
String getItemCode() throws RemoteException;
public int getQuantity() throws RemoteException;
}
_________________________________________________________________
HOME INTERFACE
<------------->
package ejb.entityBean.containerManaged.testing;
import java.rmi.RemoteException;
import java.sql.*;
import java.util.Collection;
import javax.ejb.*;
public interface OrderHome extends EJBHome {
public Order create(int custid, String itemcode, int quantity) throws RemoteException, CreateException;
public Order findByPrimaryKey(OrderPK pk) throws FinderException, RemoteException;
}
_________________________________________________________________
PRIMARY KEY CLASS
<--------------->
package ejb.entityBean.containerManaged.testing;
import java.sql.*;
public class OrderPK implements java.io.Serializable {
public int custid;
public OrderPK() {
}
public OrderPK(int custid) {
this.custid = custid;;
}
public boolean equals(Object obj) {
if (obj==null | | !(obj instanceof OrderPK))
return false;
OrderPK pk = (OrderPK)obj;
if (this.custid != pk.custid)
return false;
return true;
}
public int hashCode() {
StringBuffer strB = new StringBuffer();
strB.append(custid);
return strB.toString().hashCode();
}
public String toString() {
String b = "OrderPK[custid=" + custid ;
return b;
}
}
_________________________________________________________________
BEAN CLASS
<--------->
package ejb.entityBean.containerManaged.testing;
import java.rmi.*;
import javax.ejb.*;
import java.sql.*;
public class OrderBean implements EntityBean {
private boolean isModified = false;
public EntityContext entityContext;
public int custid;
public String itemcode;
public int quantity;
public OrderPK ejbCreate(int cust_id, String item_code, int quant) throws CreateException {
this.custid = cust_id;
this.itemcode=item_code;
this.quantity=quant;
return null;
}
public void ejbPostCreate(int cust_id, String item_code, int quant) throws CreateException {
}
public void ejbActivate() throws RemoteException {
}
public void ejbLoad() throws RemoteException {
}
public void ejbPassivate() throws RemoteException {
}
public void ejbRemove() throws RemoteException, RemoveException {
}
public void ejbStore() throws RemoteException {
if (isModified())
setModified(false);
}
public void setEntityContext(EntityContext context) throws RemoteException {
entityContext = context;
}
public void unsetEntityContext() throws RemoteException {
entityContext = null;
}
public boolean isModified() {
return this.isModified;
}
private void setModified(boolean modified) {
this.isModified = modified;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
public int getCustID() {
return this.custid;
}
public String getItemCode() {
return this.itemcode;
}
public int getQuantity() {
return this.quantity;
}
}
_________________________________________________________________
ejb-jar.xml
<---------->
<?xml version="1.0"?>
< !DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
<ejb-jar>
<enterprise-beans>
<entity>
<ejb-name>Order</ejb-name>
<home>ejb.entityBean.containerManaged.testing.OrderHome</home>
<remote>ejb.entityBean.containerManaged.testing.Order</remote>
<ejb-class>ejb.entityBean.containerManaged.testing.OrderBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>ejb.entityBean.containerManaged.testing.OrderPK</prim-key-class>
<reentrant>False</reentrant>
<cmp-field>
<field-name>custid</field-name>
</cmp-field>
<cmp-field>
<field-name>itemcode</field-name>
</cmp-field>
<cmp-field>
<field-name>quantity</field-name>
</cmp-field>
<primkey-field>custid</primkey-field>
</entity>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>Order</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
_________________________________________________________________
weblogic-cmp-rdbms-jar.xml
<------------------------->
< !DOCTYPE weblogic-rdbms-bean PUBLIC <br /> '-//BEA Systems, Inc.//DTD WebLogic 5.1.0
EJB RDBMS Persistence//EN'<br /> 'http://www.bea.com/servers/wls510/dtd/weblogic-rdbms-persistence.dtd'>
<weblogic-rdbms-bean>
<pool-name>ejbDemoPool</pool-name>
<table-name>orders</table-name>
<attribute-map>
<object-link>
<bean-field>custid</bean-field>
<dbms-column>cust_id</dbms-column>
</object-link>
<object-link>
<bean-field>itemcode</bean-field>
<dbms-column>itemcode</dbms-column>
</object-link>
<object-link>
<bean-field>quantity</bean-field>
<dbms-column>quantity</dbms-column>
</object-link>
</attribute-map>
<finder-list>
<finder>
</finder>
</finder-list>
<options>
<use-quoted-names>false</use-quoted-names>
</options>
</weblogic-rdbms-bean>
_________________________________________________________________
weblogic-ejb-jar
<-------------->
<?xml version="1.0"?>
< !DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 5.1.0 EJB//EN' 'http://www.bea.com/servers/wls510/dtd/weblogic-ejb-jar.dtd'>
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>Order</ejb-name>
<caching-descriptor>
<max-beans-in-cache>1000</max-beans-in-cache>
</caching-descriptor>
<persistence-descriptor>
<is-modified-method-name>isModified</is-modified-method-name>
<persistence-type>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>5.1.0</type-version>
<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
</persistence-type>
<persistence-use>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>5.1.0</type-version>
</persistence-use>
</persistence-descriptor>
<jndi-name>containerManaged.OrderHome</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
------------------