JTA,JPA和Plain JDBC在hibernate方面的区别
在hibernate方面,JTA,JPA和Plain JDBC有什么区别?
为了存在差异,应该有一些共同点,除了与数据库相关(尽pipeJTA不仅仅是这个),它们没有什么共同之处:
-
JPA是Java对象关系映射的一个标准 – 它指定一组注释和一个接口 –
EntityManager
来执行映射对象的持久化操作。 Hibernate实现了JPA标准 -
普通的JDBC是一种访问数据库的技术。 这是Hibernate实际用来执行数据库操作的“底层”。 它使用JDBC将查询发送到数据库。
-
JTA是一个事务API,在Hibernate中是可选的。 它处理(逻辑)交易行为。
JDBC是数据库连接的Java标准。
JPA将Java开发人员从JDBC和数据库操作的内部工作中分离出来。
Hibernate,EclipseLink,OpenJPA和Data Nucleus是着名的JPA实现。
JTA是交易标准,允许pipe理多个数据库之间的多个交易。
JPA利用JDBC进行数据库连接和SQL相关操作,并且 – 可选地利用JTA将分布式事务pipe理细节委托给它。