I assume the String in
>       <prim-key-class>java.lang.String</prim-key-class>
corresponds to a char-type field in the database.
What if the primary key in the database table is not a
string?  I have int fields, for instance.
> it also works with cmp. If you don't have a compound key there is no need
> for an extra PK class
>
>     <entity>
>       <description />
>       <display-name />
>       <small-icon />
>       <large-icon />
>       <ejb-name>StructureFolder</ejb-name>
>       <home>com.ceag.dms.server.StructureFolderHome</home>
>       <remote>com.ceag.dms.server.StructureFolder</remote>
>       <ejb-class>com.ceag.dms.server.StructureFolderBean</ejb-class>
>       <persistence-type>Container</persistence-type>
>       <prim-key-class>java.lang.String</prim-key-class>
>       <reentrant>False</reentrant>
>       <cmp-field>
>         <description />
>         <field-name>path</field-name>
>       </cmp-field>
>       <cmp-field>
>         <description />
>         <field-name>description</field-name>
>       </cmp-field>
>       <cmp-field>
>         <description />
>         <field-name>name</field-name>
>       </cmp-field>
>       <cmp-field>
>         <description />
>         <field-name>oid</field-name>
>       </cmp-field>
>       <primkey-field>oid</primkey-field>
>       <ejb-ref>
>         <description />
>         <ejb-ref-name>ejb/docspace</ejb-ref-name>
>         <ejb-ref-type>Entity</ejb-ref-type>
>         <home>com.ceag.dms.server.DocSpaceHome</home>
>         <remote>com.ceag.dms.server.DocSpace</remote>
>         <ejb-link>DocSpace</ejb-link>
>       </ejb-ref>
>       <resource-ref>
>         <description />
>         <res-ref-name>StructureFolderDB</res-ref-name>
>         <res-type>javax.sql.DataSource</res-type>
>         <res-auth>Container</res-auth>
>       </resource-ref>
>     </entity>
>
> Ulf Gohde
>
>
> > -----Original Message-----
> > From: Stefan Hanenberg [mailto:[EMAIL PROTECTED]]
> > Sent: Thursday, June 29, 2000 4:30 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: How to create SQL statements within J2eeSdk if there
> > isnoPrimary Key?
> >
> >
> > Hi Nail,
> >
> > thank you for your answer...but maybe I have to add that my Bean is a
> > container-managed one (sorry, I forgot to say).
> >
> > Stefan
> >
> >
> >
> > "Nail A." schrieb:
> > >
> > > Hi Stefan,
> > > at first: the finder methods are defined in the home-interfaces
> > > (see section 8.3.2 of the EJB-Spec.1.1.)
> > >
> > > for example:
> > >         public Account findByPrimaryKey(String user_id)
> > >         throws FinderException, RemoteException;
> > >         public Collection findByLastName(String name)
> > >         throws FinderException, RemoteException;
> > >         public Collection findInRange(double low, double high)
> > >         throws FinderException, RemoteException;
> > >
> > > The Entity-EJB has to define one ejbFind[...]-method for
> > each of this methods.
> > > That means, that this methods contain calls to special methods with
> > > SQL-Queries.
> > >
> > > example:
> > >
> > >       public String ejbFindByPrimaryKey(String primaryKey)
> > >       throws FinderException
> > >     {
> > >       System.out.println("ejbFindByPrimaryKey method");
> > >       try {
> > >          if (selectByPrimaryKey(primaryKey)) {
> > >             return primaryKey;
> > >          }
> > >          else {
> > >             throw new ObjectNotFoundException
> > >                ("Row for id " + primaryKey + " not found.");
> > >          }
> > >        } catch (Exception ex) {
> > >            throw new EJBException("ejbFindByPrimaryKey: " +
> > >               ex.getMessage());
> > >        }
> > >     }
> > >
> > > last but not least:
> > >
> > >         private boolean selectByPrimaryKey(String primaryKey) throws
> > > java.sql.SQLException
> > >       {
> > >          System.out.println(" selectByPrimaryKey method");
> > >          String selectStatement = "SELECT ID FROM TABLE
> > WHERE USER_ID = ? ";
> > >       PreparedStatement prepStmt =
> > > (PreparedStatement)con.prepareStatement(selectStatement);
> > >           prepStmt.setString(1, primaryKey);
> > >           prepStmt.executeQuery();
> > >           ResultSet rs = (ResultSet)prepStmt.executeQuery();
> > >           boolean result = rs.next();
> > >           prepStmt.close();
> > >           return result;
> > >     }
> > >
> > > Hope, this helps you to solve your problems.
> > > regards
> > > Nail
> > >    - Dep.of CS -
> > >   Univ. Hamburg
> > >
> > >
> > **************************************************************
> > *****************************
> > >
> > > Stefan Hanenberg wrote:
> > >
> > > > Hi,
> > > >
> > > > I have a question: I have an EntityBean without a primary
> > key-class. How
> > > > can I use it within the j2eesdk and cloudscape? The main
> > problem is:
> > > > What are the SQL-statements for ejbRemove() and
> > findByPrimaryKey()?
> > > >
> > > > Regards,
> > > > Stefan
> > > >
> > > >
> > ==============================================================
> > =============
> > > > To unsubscribe, send email to [EMAIL PROTECTED] and
> > include in the body
> > > > of the message "signoff EJB-INTEREST".  For general help,
> > send email to
> > > > [EMAIL PROTECTED] and include in the body of the
> > message "help".
> > >
> > >
> > ==============================================================
> > =============
> > > To unsubscribe, send email to [EMAIL PROTECTED] and
> > include in the body
> > > of the message "signoff EJB-INTEREST".  For general help,
> > send email to
> > > [EMAIL PROTECTED] and include in the body of the message "help".
> >
> > --
> > ***************************************************************
> > Dipl.-Wirt.Inform. Stefan Hanenberg
> > Mathematics & Computer Science
> > University of Essen
> > Sch�tzenbahn 70
> > D-45117 Essen
> > Germany
> >
> > email: mailto:[EMAIL PROTECTED]
> > www: http://www.cs.uni-essen.de/shanenbe/
> > phone: ++49-201-183-2168
> > fax: (+49) 201-183 2419
> > ***************************************************************
> >
> > ==============================================================
> > =============
> > To unsubscribe, send email to [EMAIL PROTECTED] and
> > include in the body
> > of the message "signoff EJB-INTEREST".  For general help,
> > send email to
> > [EMAIL PROTECTED] and include in the body of the message "help".
> >
>
> ===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff EJB-INTEREST".  For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".
>

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to