2012-04-05 3 views
0

JPA по существу является более высокой абстракцией JDBC. EntityManager имеет API setAutoFlushMode. Он может быть установлен на AUTO или COMMIT. Что эквивалентно этому в терминах JDBC? спасибоEntityManger flushmode в JDBC

ответ

4

JDBC имеет автоматическое совершение.

Они оба предназначены для настройки того, должна ли библиотека автоматически фиксироваться в базе данных.

Автоматическая фиксация JDBC очень проста, она немедленно передает каждое обновление в базу данных. Без автоматической фиксации изменения не выполняются до вызова метода commit.

JPA AUTO вызывает сброс базы данных перед выполнением запроса. Простые операции, такие как find, не требуют флеша, поскольку библиотека может обрабатывать поиск, однако запросы будут намного сложнее, поэтому, если AUTO установлен, он сначала очистит его. Если для режима установлено значение COMMIT, он будет только сбросить изменения в базе данных при вызове commit или flush. Если COMMIT установлен и выполняется запрос, он не будет возвращать результаты, которые не были сброшены.

+0

Спасибо. Когда JPA настроен на автоматическое сброс в базы данных, происходит ли передача данных? Почему поиск отличается от запроса? – dublintech

+0

Нет, транзакция не совершена. «find» - это просто используемое слово для категории запросов, например, например: «findById». – esej

Смежные вопросы