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