Разница между транзакцией гибернации и транзакцией базы данных, выполненной с использованием SQL-запросов? - PullRequest
6 голосов
/ 01 января 2012

Есть ли разница между двумя? Например, в транзакции hibernate мы можем получить доступ к базе данных, запустить некоторый код Java, а затем снова получить доступ к базе данных. Мы не можем сделать это в транзакции, выполненной через SQL, не так ли? В этом ли разница?

1 Ответ

5 голосов
/ 01 января 2012

2 напрямую связаны друг с другом - транзакция Hibernate отображается и управляет транзакцией JDBC (базы данных).

Вы можете сделать то же самое с прямым JDBC / SQL, без Hibernate - хотя для начала вам потребуется вызвать Connection.setAutoCommit(false). В противном случае по умолчанию после каждого оператора вызывается коммит, в результате чего каждый оператор выполняется в своей собственной транзакции.

Некоторые дополнительные сведения доступны по адресу http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html.

...