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 > > > > > > > > > >
