I'm using EJBMaker 2.0, and it inserts the primkey-field in there.
I figured this out this morning, everything seems to be working smoothly
now.

Thanks

Jack

> Jack,
>
> If you're using a user-defined primary key class, as opposed to a Java
> class like String or Integer, then you don't define the primkey-field in
> the ejb-jar.xml.
>
> From p.370 of O'reilly's Enterprise JavaBeans, 2nd Edition, describing the
> <primkey-field> entry in the ejb-jar.xml: It is not used if the bean has a
> custom primary key or if the entity bean manages its own persistence.
>
> Jeff.
>
> On Thu, 11 Oct 2001 16:31:58 -0500 (CDT)
> "Jack C. Miller" <[EMAIL PROTECTED]> wrote:
>
> >
> > I am having some difficulty getting orion to use my primary key class
> > during deployment.  I have an EJB AnyPerson with which I use a primary
> key
> > class AnyPersonKey that has a public java.lang.String primaryKey field.
> > During deployment, I get a compilation error that looks like the CMP
> isn't
> > being generated properly.
> >
> > The orion-ejb-jar.xml file looks fine, as does the ejb-jar file.  I get
> > this error on deploy:
> >
> > Auto-deploying kwu-ejb.jar (Classes were updated)... Error compiling
> > C:\orion\applications\kwu-phase-2\kwu-ejb.jar: Incompatible type for
> > prim-key-class and type of the specified primkey-field: Cannot convert
> > from class com.kw.kwu.model.AnyPerson.AnyPersonKey to class
> > java.lang.String
> >
> > It doesn't seem to recognize that I'm using a primary key class at all,
> > even though it is mapped in the orion-ejb-jar.xml file.
> >
> > Has anyone got a working example of this?  I'm tired of tweaking the
> > orion-ejb-jar to try and get it working.
> >
> >  Here's a snippet from my orion-ejb-jar.xml:
> >
> >     <enterprise-beans>
> >             <entity-deployment name="AnyPerson" location="AnyPerson"
> > wrapper="AnyPersonHome_EntityHomeWrapper45" max-tx-retries="3"
> > table="AnyPerson" data-source="jdbc/SQLServerDSCore">
> >                     <primkey-mapping>
> >                             <cmp-field-mapping>
> >                                 <fields>
> >                                     <cmp-field-mapping
> > name="primaryKey" persistence-name="primaryKey" />
> >                                 </fields>
> >                             </cmp-field-mapping>
> >                     </primkey-mapping>
> >                     <cmp-field-mapping name="FirstName"
> > persistence-name="FirstName" />
> >                     <cmp-field-mapping name="LastName"
> > persistence-name="LastName" />
> >                     <cmp-field-mapping name="Salutation"
> > persistence-name="Salutation" />
> >                     <cmp-field-mapping name="Username"
> > persistence-name="Username" />
> >                     <cmp-field-mapping name="Password"
> > persistence-name="Password" />
> >                     <cmp-field-mapping name="Address1"
> > persistence-name="Address1" />
> >                     <cmp-field-mapping name="Address2"
> > persistence-name="Address2" />
> >                     <cmp-field-mapping name="City"
> > persistence-name="City" />
> >                     <cmp-field-mapping name="StateProvId"
> > persistence-name="StateProvId" />
> >                     <cmp-field-mapping name="PostalCd"
> > persistence-name="PostalCd" />
> >                     <cmp-field-mapping name="Country"
> > persistence-name="Country" />
> >                     <cmp-field-mapping name="HomePhone"
> > persistence-name="HomePhone" />
> >                     <cmp-field-mapping name="Fax"
> > persistence-name="Fax" />
> >                     <cmp-field-mapping name="Email"
> > persistence-name="Email" />
> >                     <cmp-field-mapping name="LastModTime"
> > persistence-name="LastModTime" />
> >                     <cmp-field-mapping name="ModifiedBy"
> > persistence-name="ModifiedBy" />
> >
> >
> > and the matching ejb-jar.xml file:
> >
> > <ejb-jar>
> >    <description>Generated deployment descriptors</description>
> >       <enterprise-beans>
> >             <entity>
> >                     <ejb-name>AnyPerson</ejb-name>
> >
> > <home>com.kw.kwu.model.AnyPerson.AnyPersonHome</home>
> >
> > <remote>com.kw.kwu.model.AnyPerson.AnyPerson</remote>
> >
> > <ejb-class>com.kw.kwu.model.AnyPerson.AnyPersonBean</ejb-class>
> >                     <persistence-type>Container</persistence-type>
> >
> > <prim-key-class>com.kw.kwu.model.AnyPerson.AnyPersonKey</prim-key-class>
> >                     <reentrant>false</reentrant>
> >                     <cmp-field><field-name>primaryKey</field-name>
> >
> > <cmp-field><field-name>FirstName</field-name></cmp-field>
> >
> > <cmp-field><field-name>LastName</field-name></cmp-field>
> >
> > <cmp-field><field-name>Salutation</field-name></cmp-field>
> >
> > <cmp-field><field-name>Username</field-name></cmp-field>
> >
> > <cmp-field><field-name>Password</field-name></cmp-field>
> >
> > <cmp-field><field-name>Address1</field-name></cmp-field>
> >
> > <cmp-field><field-name>Address2</field-name></cmp-field>
> >
> > <cmp-field><field-name>City</field-name></cmp-field>
> >
> > <cmp-field><field-name>StateProvId</field-name></cmp-field>
> >
> > <cmp-field><field-name>PostalCd</field-name></cmp-field>
> >
> > <cmp-field><field-name>Country</field-name></cmp-field>
> >
> > <cmp-field><field-name>HomePhone</field-name></cmp-field>
> >
> > <cmp-field><field-name>Fax</field-name></cmp-field>
> >
> > <cmp-field><field-name>Email</field-name></cmp-field>
> >
> > <cmp-field><field-name>LastModTime</field-name></cmp-field>
> >
> > <cmp-field><field-name>ModifiedBy</field-name></cmp-field>
> >                     <primkey-field>primaryKey</primkey-field>
> >             </entity>
> >
> > Thanks!
> >
> > Jack Miller
> >
> >
> >
> >
>
>


Reply via email to