В чем разница между JTA, JPA и Plain JDBC в терминах спящего режима?
Разница между JTA, JPA и Plain JDBC в спящем режиме
Ответ 1
Чтобы существовала разница, должно быть что-то общее, и кроме того, что это связано с базой данных (хотя JTA - это не только), они не имеют ничего общего:
-
JPA является стандартом для объектно-реляционного сопоставления Java - он задает набор аннотаций и интерфейс -
EntityManager
для выполнения операций сохранения с отображенными объектами. Hibernate реализует стандарт JPA -
простой JDBC - это технология доступа к базам данных. Это то, что Hibernate фактически использует для выполнения операций с базой данных "под капотом". Он использует JDBC для отправки запросов в базу данных.
-
JTA - это API транзакций, и он является необязательным в Hibernate. Он обрабатывает (логически) поведение транзакции.
Ответ 2
JDBC - это стандарт Java для подключения к базе данных.
JPA изолирует разработчика Java от внутренней работы JDBC и операций с базой данных.
Hibernate, EclipseLink, OpenJPA и Data Nucleus являются известными реализациями JPA.
JTA - это стандарт для транзакций, позволяющий управлять несколькими транзакциями между несколькими базами данных.
JPA использует JDBC для соединений с базой данных и связанных с SQL операций, а -optionally - использует JTA для делегирования данных управления распределенной транзакцией.