Hey,

always report full stack traces, please.

Do you have also a jboss.xml ? You should, and probably you have it, since
the ejb-name of the bean is TebNomlHome and you lookup it using
qsp.TebNomlHome (or is a mistake ?). 
And what about jboss.jcml ?
Double check also the fact that the datasource is called xa.QspDBPool in
jaws.xml and QspDBPool in the ejb-jar.xml (the missing piece is jboss.xml).
When JBoss starts, it tells you where does it bind the datasource, like "XA
Connection pool DefaultDS bound to java:/DefaultDS". Where is yours bound ?

>From all the above, are you really sure that you're looking in the right
table, and that the EJB table is in the datasource you're looking at ? (and
that the pk really exists in that table in that database ? :)

Simon

> Hi Simone,
> 
> I'll try doing String.hashCode()
> 
> 1. OS: I'm using Slackware Linux, Blackdown JDK1.3 with Jbos 
> PRE2-1 Dec 3
> 2. Client code:
>     /**
>      * doAcctDescrEdit - changes account description names
>      * @param Map dbMap - a map html form values to database 
> table columns
>      */
> protected void doAcctDescEditEjb(Map dbMap) throws Exception {
>    TebNomlHome tebNomlHome = (TebNomlHome)
> initialContext.lookup("qsp.TebNomlHome");
>    TebNomlPk tebNomlPk = new TebNomlPk((String)dbMap.get(DB_CMPY),
> 
> (String)dbMap.get(DB_NOMLVAL),1);
>    TebNoml tebNoml = tebNomlHome.findByPrimaryKey(tebNomlPk);
>    tebNoml.setDescr_30((String)dbMap.get(DB_DESCR30));
> }
> 
> 3. Err msg
>  Unknown status code: javax.ejb.ObjectNotFoundException:
> Object with primary key
> net.qspasp.ejbs.gl.tebnoml.TebNomlPk@3ad33d not found in
> storage
> 
> 4. Also I'm using whatever default CMP server the comes with Jboss
> Paul Russo wrote:
> 
> > I have a primary key with multiple fields.
> > When I try to do a findByPrimary key from a client, I get Object not
> > found in storage. I know the database row exists.  Also, I can make
> > other findByPrimaryKey for CMP work by using a single field with no
> > primary key class.
> >
> > I've included the primaryKey class and ejb-jar.xml and jaws 
> xml files.
> >
> > I thank anybody who would take the time to look at this.
> >
> > package net.qspasp.ejbs.gl.tebnoml;
> >
> > public class TebNomlPk implements java.io.Serializable {
> >     public String cmpy;
> >     public String noml;
> >     public int path;
> >
> >     private int hashCode;
> >
> >     public TebNomlPk() {
> >     }
> >
> >     public TebNomlPk(String cmpy, String noml, int path) {
> >  this.cmpy = cmpy;
> >  this.noml = noml;
> >  this.path = path;
> >
> >  StringBuffer buff = new StringBuffer();
> >  buff.append(cmpy);
> >  buff.append(noml);
> >  buff.append(path);
> >  hashCode =  buff.hashCode();
> >     }
> >
> >     public boolean equals(Object key) {
> >  System.out.println("equals method");
> >  if ( (key == null)
> >       || !(key instanceof TebNomlPk) ) {
> >      System.out.println("equals =f1");
> >      return false;
> >  }
> >  if ( (((TebNomlPk)key).cmpy.equals(cmpy))
> >       && (((TebNomlPk)key).noml.equals(noml))
> >       && (((TebNomlPk)key).path == (path)) ) {
> >      System.out.println("equals =t1");
> >      return true;
> >  } else {
> >      System.out.println("equals =f2");
> >      return false;
> >  }
> >     }
> >
> >     public int hashCode() {
> >  return hashCode;
> >     }
> > }
> >
> > 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>
> >       <description>Deployment descriptor for TebNoml 
> bean</description>
> >       <ejb-name>TebNomlHome</ejb-name>
> >       <home>net.qspasp.ejbs.gl.tebnoml.TebNomlHome</home>
> >       <remote>net.qspasp.ejbs.gl.tebnoml.TebNoml</remote>
> >       <ejb-class>net.qspasp.ejbs.gl.tebnoml.TebNomlBean</ejb-class>
> >       <persistence-type>Container</persistence-type>
> >
> > 
> <prim-key-class>net.qspasp.ejbs.gl.tebnoml.TebNomlPk</prim-key-class>
> >       <reentrant>False</reentrant>
> >       <cmp-field><field-name>cmpy</field-name></cmp-field>
> >       <cmp-field><field-name>path</field-name></cmp-field>
> >       <cmp-field><field-name>noml</field-name></cmp-field>
> >       <cmp-field><field-name>descr_30</field-name></cmp-field>
> >       <resource-ref>
> >          <description>A jdbc connection for the CMP 
> bean</description>
> >                 <res-ref-name>QspDBPool</res-ref-name>
> >                 <res-type>javax.sql.DataSource</res-type>
> >                 <res-auth>Container</res-auth>
> >       </resource-ref>
> >     </entity>
> >   </enterprise-beans>
> > </ejb-jar>
> >
> > jaws.xml
> > ---------
> >
> > <jaws>
> >     <datasource>xa.QspDBPool</datasource>
> >     <type-mapping>Oracle</type-mapping>
> >
> >     <default-entity>
> >        <create-table>true</create-table>
> >        <remove-table>false</remove-table>
> >        <tuned-updates>true</tuned-updates>
> >        <read-only>false</read-only>
> >        <time-out>300</time-out>
> >     </default-entity>
> >
> >     <type-mappings>
> >         <type-mapping>
> >             <name>Oracle</name>
> >             <mapping>
> >                 <java-type>java.lang.Long</java-type>
> >                 <jdbc-type>BIGINT</jdbc-type>
> >                 <sql-type>NUMBER</sql-type>
> >             </mapping>
> >             <mapping>
> >                 <java-type>java.lang.String</java-type>
> >                 <jdbc-type>VARCHAR</jdbc-type>
> >                 <sql-type>VARCHAR(256)</sql-type>
> >             </mapping>
> >             <mapping>
> >                 <java-type>java.lang.String</java-type>
> >                 <jdbc-type>VARCHAR</jdbc-type>
> >                 <sql-type>CHAR</sql-type>
> >             </mapping>
> >             <mapping>
> >                 <java-type>java.lang.Character</java-type>
> >                 <jdbc-type>CHAR</jdbc-type>
> >                 <sql-type>CHAR</sql-type>
> >             </mapping>
> >             <mapping>
> >                 <java-type>java.lang.Short</java-type>
> >                 <jdbc-type>INTEGER</jdbc-type>
> >                 <sql-type>NUMBER</sql-type>
> >             </mapping>
> >             <mapping>
> >                 <java-type>java.sql.TimeStamp</java-type>
> >                 <jdbc-type>TIMESTAMP</jdbc-type>
> >                 <sql-type>TIMESTAMP</sql-type>
> >             </mapping>
> >             <mapping>
> >                 <java-type>java.lang.Double</java-type>
> >                 <jdbc-type>DOUBLE</jdbc-type>
> >                 <sql-type>NUMBER</sql-type>
> >             </mapping>
> >             <mapping>
> >                 <java-type>java.lang.Byte</java-type>
> >                 <jdbc-type>TINYINT</jdbc-type>
> >                 <sql-type>NUMBER</sql-type>
> >             </mapping>
> >             <mapping>
> >                 <java-type>java.lang.Boolean</java-type>
> >                 <jdbc-type>BIT</jdbc-type>
> >                 <sql-type>NUMBER</sql-type>
> >             </mapping>
> >             <mapping>
> >                 <java-type>java.lang.Float</java-type>
> >                 <jdbc-type>FLOAT</jdbc-type>
> >                 <sql-type>NUMBER</sql-type>
> >             </mapping>
> >             <mapping>
> >                 <java-type>java.lang.Object</java-type>
> >                 <jdbc-type>JAVA_OBJECT</jdbc-type>
> >                 <sql-type>JAVA_OBJECT</sql-type>
> >             </mapping>
> >             <mapping>
> >                 <java-type>java.util.Date</java-type>
> >                 <jdbc-type>DATE</jdbc-type>
> >                 <sql-type>DATE</sql-type>
> >             </mapping>
> >             <mapping>
> >                 <java-type>java.lang.Integer</java-type>
> >                 <jdbc-type>INTEGER</jdbc-type>
> >                 <sql-type>NUMBER</sql-type>
> >             </mapping>
> >         </type-mapping>
> >     </type-mappings>
> >
> > <enterprise-beans>
> >      <entity>
> >        <ejb-name>TebNomlHome</ejb-name>
> >        <table-name>TEBNOML</table-name>
> >        <create-table>false</create-table>
> >        <cmp-field>
> >          <field-name>cmpy</field-name>
> >          <column-name>CMPY</column-name>
> >    <jdbc-type>VARCHAR</jdbc-type>
> >           <sql-type>VARCHAR(2)</sql-type>
> >        </cmp-field>
> >        <cmp-field>
> >          <field-name>noml</field-name>
> >          <column-name>NOML</column-name>
> >    <jdbc-type>VARCHAR</jdbc-type>
> >           <sql-type>VARCHAR(20)</sql-type>
> >        </cmp-field>
> >        <cmp-field>
> >          <field-name>path</field-name>
> >          <column-name>PATH</column-name>
> >   <jdbc-type>INTEGER</jdbc-type>
> >           <sql-type>NUMBER</sql-type>
> >        </cmp-field>
> >        <cmp-field>
> >          <field-name>descr_30</field-name>
> >          <column-name>DESCR_30</column-name>
> >        </cmp-field>
> >      </entity>
> >    </enterprise-beans>
> > </jaws>
> 
> 
> 
> --
> --------------------------------------------------------------
> To subscribe:        [EMAIL PROTECTED]
> To unsubscribe:      [EMAIL PROTECTED]
> List Help?:          [EMAIL PROTECTED]
> 


--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
List Help?:          [EMAIL PROTECTED]

Reply via email to