File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Object Relational Mapping and the fly likes when is Transaction used in hibernate? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "when is Transaction used in hibernate?" Watch "when is Transaction used in hibernate?" New topic

when is Transaction used in hibernate?

Tony Smith
Ranch Hand

Joined: Jul 07, 2007
Posts: 229
Hi I am new to hibernate, I was trying out some code, nothing gets written to the database. However if I surround my code inside begintransaction and commit, it works fine. So my question is, should most operations be done inside transaction? Or when should the transaction be used?
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper

Joined: Aug 26, 2006
Posts: 4968

Welcome to your first schooling in Hibernate.

The word transaction can be literally defined as a "unit of work." Is connecting to a database, querying its data, and getting back some information work? I'm sure the database would think so.

So yes, you always need a transaction. You are always doing work.

Now, when we think of transactions, we often think of the ACID properties of a transaction, and rolling things back, and commits, and stuff like that, and you certainly don't need all that with a read, or something simple, but that doesn't mean you're not transacting with the database.

So yes, you always need a transaction.

A person named Christian Bauer, someone who might know a little bit about Hibernate, wrote this about your very question:

I did a training two weeks ago and all 12 people said "No" when I asked "are database transactions mandatory?". We have a long way...

Do We Always Need A Transaction?

Tutorial: How to Save Data to the Database Using Hibernate and JPA

-Cameron McKenzie
I agree. Here's the link:
subject: when is Transaction used in hibernate?
It's not a secret anymore!