This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes JDBC and the fly likes Transactions! Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "Transactions!" Watch "Transactions!" New topic
Author

Transactions!

kriti sharma
Ranch Hand

Joined: Feb 16, 2001
Posts: 160
as per jdbc spec 3.0 a transaction for a jdbc driver is a single sql statement. but what if one wants application level transaction, i.e suppose i want:

transaction begin:
select a
select b
update c
update d
delete e
transaction end.

i want to create such transactions which span beyond a single sql statement, i.e are a combination of multiple sql statements. i want to implement such transactions in servlets. i take a connection from a connection pool via DataSource object(on weblogic server). then should i set auto commit to false, carry out the sql statements, and commit. is this the right approach or is it that in weblogic, every single connection from the connection pool forms a single transaction?
Julian Kennedy
Ranch Hand

Joined: Aug 02, 2004
Posts: 823
Hi Kriti,

What you describe is the correct way to perform a mulit-statement transaction in JDBC. I don't know about Weblogic ... perhaps one for the Weblogic forum?

I expect that the issue of how you go about committing would depend on whether your transaction is distributed, e.g. whether you're using full J2EE with container managed persistence and so on.

I'm no expert on J2EE, but if you're just using good ole J2SE under Weblogic then your approach is fine.

Regards

Jules
unni krishna
Ranch Hand

Joined: Jul 14, 2004
Posts: 39
kirti,

What you have specified is one way of handling transaction. If you don't need distributed transactions, you can manage with con.setAutoCommit(false),
con.rollback() & con.commit(). Only if you need distributed transactions you should worry about using JTA.


Software Engineer (SCJP)<br />USTechnology, CA
 
 
subject: Transactions!
 
Similar Threads
please answer this 128 questions for WLS. Urgently!
how to define a transaction in servlets?
releasing connection in CMT
best programming practises of JDBC
Unusual problem