From: Jeremy B. <jb...@us...> - 2003-05-14 22:35:38
|
With CMP you have two basic choices: 1) Have a utility class fetch the values from the sequence and then pass them to the create method. 2) Use an unknown pk model where the EJB leaves the definition of the primary key to the Container (CMP). In this case you don't pass anything to create and you need to configure CMP to generate the key for you. With 3.2.1 and earlier we have a PkSQL generator that will issue an SQL statement to fetch the key value before performing the insert. The SQL would be something like "SELECT MYSEQ.NEXTVAL FROM SYS.DUAL" where MYSEQ is your sequence name. The type of the generated key (as returned by getPrimaryKey()) is likely to be BigDecimal With 3.2.2beta we have a specialized key generator for Oracle that uses an INSERT ... RETURNING statement to perform the insert and return the generated key in a single operation. This also uses the normal cmp binding code so the type of the PK may be specified (e.g. as a Long or Integer). This is only in the CVS branch so see standardjbosscmp-jdbc.xml and the jbosscmp-jdbc.xml file for the keygen testcase for details. Jeremy > -----Original Message----- > From: jbo...@li... > [mailto:jbo...@li...]On Behalf Of Hanson, > Matthew > Sent: Wednesday, May 14, 2003 1:49 PM > To: 'jbo...@li...' > Subject: [JBoss-user] Entity ejbCreate Parameter > > > Hi-- > > If my cmp entity bean has a primary key column that is back in Oracle (or > whatever database) by an auto-incremented integer datatype, how should I > code the ejbCreate method. Do I need to pass int or Integer as the > parameter? Or does the j2ee spec dictate that the insert must produce the > primary key for me based on the table attributes (i.e., no > parameters needed > for ejbCreate). > > I'm a little confused, so if someone could just get me started, I > would find > that a great help. > > Thanks! > Matt Hanson > > > ------------------------------------------------------- > Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara > The only event dedicated to issues related to Linux enterprise solutions > www.enterpriselinuxforum.com > > _______________________________________________ > JBoss-user mailing list > JBo...@li... > https://lists.sourceforge.net/lists/listinfo/jboss-user |