Hello, dear stuff!
 I am newbie in EJB, here is my problem description
 
 1. I use Xdoclet
 2. Using ODBC I created datasource to MsAccess , and it works (tested!).
 I want to work with table called "table1"
 3. I Created CMP Ejb , Lookup returns the object, no any problem at this step
 4. But findByPrimaryKey fails! My table isn't emty, it contains a couple of 
lines. 
 The most strange is the error I got:
 
 "Find failed: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 
 The Microsoft Jet database engine cannot find the input table or query 
'Person'.  
 Make sure it exists and that its name is spelled correctly." 

 If I rename my table1 to Person - it works!!!! 

  ... and the question is how to map EJB to table????

  Ejb jar contains line 
          <abstract-schema-name>table1</abstract-schema-name>
As I understood, this is the place where I refer my EJB to particular table.
Am I wrong?
I use eclipce plugin , so maybe it has some "bugs".... Hard to believe,
but possible?

My class starts as follows:
/**
 * @ejb.bean name="Person"
 *           display-name="Name for Person"
 *           description="Description for Person"
 *           jndi-name="ejb/PersonBean"
 *                       primkey-field = "numberFld"
 *           type="CMP"
 *           cmp-version="2.x"
 *           view-type="both"
 *                       schema = "table1"
 *                                               
 *
 */
public abstract class PersonBean implements EntityBean {
........

          
  
  My ejb-jar as follows
  
 <?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 >
 
    <![CDATA[No Description.]]>
    <display-name>Generated by XDoclet</display-name>
 
    <enterprise-beans>
 
       <!-- Session Beans -->
      <!--
        To add session beans that you have deployment descriptor info for, add
        a file to your XDoclet merge directory called session-beans.xml that 
contains
        the  markup for those beans.
      -->
 
       <!-- Entity Beans -->
       
          <![CDATA[Description for Person]]>
          <display-name>Name for Person</display-name>
                
          <ejb-name>Person</ejb-name>
 
          DbEjb.interfaces.PersonHome
          DbEjb.interfaces.Person
          <local-home>DbEjb.interfaces.PersonLocalHome</local-home>
          DbEjb.interfaces.PersonLocal
 
          <ejb-class>DbEjb.ejb.PersonCMP</ejb-class>
          <persistence-type>Container</persistence-type>
          <prim-key-class>java.lang.Double</prim-key-class>
          False
          <cmp-version>2.x</cmp-version>
          
          
          <abstract-schema-name>table1</abstract-schema-name>          
          <cmp-field >
             <![CDATA[Getter for CMP Field stringFld]]>
             <field-name>stringFld</field-name>
          </cmp-field>
          <cmp-field >
             <![CDATA[Getter for CMP Field numberFld]]>
             <field-name>numberFld</field-name>
          </cmp-field>
          <cmp-field >
             <![CDATA[Getter for CMP Field dateFld]]>
             <field-name>dateFld</field-name>
          </cmp-field>
           <primkey-field>numberFld</primkey-field>
 
          <!-- Write a file named ejb-finders-PersonBean.xml if you want to 
define extra finders. -->
       
 
      <!--
        To add entity beans that you have deployment descriptor info for, add
        a file to your XDoclet merge directory called entity-beans.xml that 
contains
        the  markup for those beans.
      -->
 
       <!-- Message Driven Beans -->
      <!--
        To add message driven beans that you have deployment descriptor info 
for, add
        a file to your XDoclet merge directory called message-driven-beans.xml 
that contains
        the <message-driven></message-driven> markup for those beans.
      -->
 
    </enterprise-beans>
 
    <!-- Relationships -->
 
    <!-- Assembly Descriptor -->
    <assembly-descriptor >
      <!--
        To add additional assembly descriptor info here, add a file to your
        XDoclet merge directory called assembly-descriptor.xml that contains
        the <assembly-descriptor></assembly-descriptor> markup.
      -->
 
    <!-- finder permissions -->
 
    <!-- transactions -->
 
    <!-- finder transactions -->
    </assembly-descriptor>
 
 </ejb-jar>


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3908079#3908079

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3908079


-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.  Get Certified Today
Register for a JBoss Training Course.  Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to