Good point. For us, that's not (yet) an issue.
I don't see why you couldn't use a connection pool, though, and just pass your context
through to the create method. Either way, it still seems to be an improvement over a
session bean.
As an alternative (aka hack), in the auto-generated Bull Bean file, there is a
createData() method, I think you could just change the sql by removing the id field
in the insert statement, then the serial type would be OK to use. Of course, that is a
big pain, but if you are desparate...
-Erik
At 05:34 PM 6/26/00 -0600, Phil Windley wrote:
>
>Its faster to write, to be sure, but seems like its going to establish a
>new connection for every creation event. If those events are a small
>percentage of overall operations, it wouldn't be a problem, but I'm
>envisioning a system that has large numbers of creations, so this would be
>pretty expensive.
>
>Anyone else have ideas on getting a serial type (preferably from
>Postgresql) to work with in CMP to automatically create the PK for the
>bean?
>
>--phil--
>
>On Fri, 23 Jun 2000 11:16:16 -0600 [EMAIL PROTECTED] writes
>+--------------------
>| I couldn't get the serial type to work with CMP either. We added a function
>like the following in each of our entity beans to use automatically generated i
>d's from postgres (mytable_id_seq is a SEQUENCE):
>|
>| private Integer _getNewID()
>| throws SQLException
>| {
>| Connection conn=_dsource_.getConnection();
>| String sql="select nextval('mytable_id_seq')";
>| Statement stmt=conn.createStatement();
>| ResultSet rs=stmt.executeQuery(sql);
>| if(!rs.next())
>| throw new SQLException("Unable to get next sequence.");
>| Integer newid=new Integer(rs.getInt(1));
>| stmt.close();
>| conn.close();
>| return newid;
>| }
>|
>| I know this isn't an ideal solution, but it is faster than two beans..
>|
>| -Erik
>|
>|
>| At 09:55 AM 6/23/00 -0600, you wrote:
>| >
>| >I use Postgresql as well, but I couldn't figure out how to get container
>| >managed entity beans to automatically set the primary key from the SEQUENCE
>| >data type. I ended up creating a session bean to grab sequence numbers
>| >from the database each time I created an entity bean.
>| >
>| >Is there a better way? I'm all for it---creating two beans every time I nee
>d
>| >one is not my idea of a good way to spend time.
>| >
>| >--phil--
>| >
>| >On Thu, 15 Jun 2000 08:33:58 -0400 "John M. Jones" writes
>| >+--------------------
>| >| Does your database support serial fields? These fields generate a counter
>| >| for each record added. There's a trick to getting the next id when calling
>| >| create(), but it eliviates coding a unique id generator. I use PostgreSQL,
>| >| and it has a serial data type.
>| >|
>| >| Hope this helps,
>| >| John
>| >|
>| >| -----Original Message-----
>| >| From: [EMAIL PROTECTED]
>| >| [mailto:[EMAIL PROTECTED]]On Behalf Of Blasius Lofi
>| >| Dewanto
>| >| Sent: Thursday, June 15, 2000 5:13 AM
>| >| To: [EMAIL PROTECTED]
>| >| Subject: Automatic counter
>| >|
>| >|
>| >| Hi all,
>| >|
>| >| I just wonder, whether someone can help me...
>| >|
>| >| How can I implement a counter or a unique id
>| >| for my PrimaryKey in EJB? Because I don't want
>| >| to take care about it in my EJB.
>| >|
>| >| Another question:
>| >| When I quit from the EJBServer through the JonasAdmin,
>| >| I always get this exception:
>| >| Cannot unbind Datasources: java.lang.ClassCastException
>| >| Is this normal?
>| >|
>| >| Thank's a lot!
>| >| --
>| >| ---------------------------------------------------
>| >| Blasius Lofi Dewanto
>| >| ---------------------------------------------------
>| >| OpenUSS - Open Source University Support System
>| >| http://openuss.sourceforge.net
>| >| ---------------------------------------------------
>| >|
>| >|
>| >| __________________________________________________________________
>| >| Do You Yahoo!?
>| >| Gesendet von Yahoo! Mail - http://mail.yahoo.de
>| >| Yahoo! Auktionen - gleich ausprobieren - http://auktionen.yahoo.de
>| >|
>| >| ----
>| >| To unsubscribe, send email to [EMAIL PROTECTED] and
>| >| include in the body of the message "unsubscribe jonas-users".
>| >| 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 "unsubscribe jonas-users".
>| >| 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 "unsubscribe jonas-users".
>| >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 "unsubscribe jonas-users".
>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 "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".