定义
Java Persistence API
JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
起源
Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用的对象持久化的开发工作;其二,Sun希望整合对ORM技术,实现天下归一。
JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分。但它不囿于EJB 3.0,你可以在Web应用、甚至桌面应用中使用。JPA的宗旨是为POJO提供持久化标准规范,由此可见,经过这几年的实践探索,能够脱离容器独立运行,方便开发和测试的理念已经深入人心了。目前Hibernate 3.2、TopLink 10.1.3以及OpenJPA都提供了JPA的实现。
JPA的总体思想和现有Hibernate、TopLink,JDO等ORM框架大体一致。总的来说,JPA包括以下3方面的技术:
ORM映射元数据
JPA支持XML和JDK 5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;
JPA 的API
用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。
查询语言
这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。
关于JAP的实现有很多提供商如:Hibernate,Spring,OpenJPA.....我解述的是关于Hibernate的实现
所需要Hibernate提拱的jar包有:
Hibernate注解包(3个文件)
hibernate-annotaions-3.4.0.GA.zip下面的:
hibernate-annotations.jar
lib\ejb3-persistence.jar,hibernate-commons-annotations.jar
Hibernate核心包(8个文件)
hibernate-distribution-3.3.1.GA-dist.zip下面的:
hibernate3.jar
lib\bytecode\cglib\hibernate-cglib-repack-2.1_3.jar
lib\required\*.jar
Hibernate针对JPA的实现包(3个文件)
hibernate-entitymanager-3.4.0.GA.zip下面的:
hibernate-entitymanager.jar
lib\test\log4j.jar,slf4j-log4j12.jar
包如下:
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
ehcache-1.2.3.jar
ejb3-persistence.jar
hibernate3.jar
hibernate-annotations.jar
hibernate-cglib-repack-2.1_3.jar
hibernate-commons-annotations.jar
hibernate-entitymanager.jar
javassist-3.4.GA.jar
jta-1.1.jar
log4j.jar
slf4j-api-1.5.2.jar
slf4j-log4j12.jar
分享到:
相关推荐
1. **JPA历史**:简述JPA的起源和发展,以及其与Hibernate、TopLink等ORM工具的关系。 2. **API详解**:深入解析`EntityManager`、`EntityManagerFactory`、`Query`等关键接口和类的用法。 3. **继承和多态性**:...
本书《Beginning Hibernate, 3rd Edition》旨在为初学者提供一个系统学习 Hibernate 的平台,不仅涵盖了基础概念和技术细节,还提供了大量的实践案例,有助于读者深入理解并掌握 Hibernate 的核心原理及使用技巧。...
13. JPA与Hibernate:简述Java Persistence API(JPA)与Hibernate的关系,以及如何在JPA中使用Hibernate作为实现。 14. 实战示例:通过实际的项目案例,展示如何在不同场景下使用Hibernate,加深对理论知识的理解...
然后,在Spring的配置文件中,定义SessionFactory Bean,并使用HibernateTemplate或JPA来简化数据库操作。 4. **编写业务逻辑**:创建LoginAction类,该类是Struts2中的Action,负责接收和处理用户的登录请求。在这...
11. **JPA与Hibernate的关系**:简述Java Persistence API (JPA)与Hibernate之间的联系和差异。 这些知识点覆盖了Hibernate的基础到进阶,适合准备Hibernate相关笔试的考生进行复习。实际的“Hibernate笔试题.doc”...
9. **JPA与Hibernate的关系**:简述Java Persistence API(JPA)与Hibernate的关系,以及两者如何协同工作,帮助开发者选择适合的持久化策略。 10. **实战案例**:通过实际项目示例,展示如何在应用程序中集成...
在第六讲中,我们可能会学习到如何配置Hibernate,创建实体类,编写HQL(Hibernate查询语言)查询,以及如何使用Spring的HibernateTemplate或JPA(Java Persistence API)来透明地处理数据访问。 整合这三个框架,...
2.3 hibernate框架的实现 2.4 jpa框架的实现 2.5 spring框架的实现 2.6 jsf框架的实现 2.7 ajax框架的实现 2.8 使用jdbc连接数据库 2.9 小结 第3章 实现各种框架的集成 3.1 spring框架与...
Seam作为一个胶水框架,能够很好地整合各种技术栈,如AJAX、Facelet、JSF、EJB3、Hibernate、Hibernate Search、JBPM、Drools、Email、iText、JMS等,为开发者提供了一个完整的开发环境。 通过以上介绍,我们可以...
- **11.1 概述**:简述了使用Spring、Struts2和Hibernate(SSH)集成开发一个积分商城项目的目标和流程。 - **11.2 实现通用层**:涵盖了创建通用的服务层和DAO层,以及如何在Spring中配置这些组件。 - **11.3 ...
JPA 与 Hibernate 的结合使用简化了 ORM(对象关系映射)的开发,同时也保持了与不同 JPA 提供者的兼容性。 问题 9:请解释 Java 中的异常处理机制,包括 try-catch-finally、throw 和 throws 关键字的作用。 Java...
- **JPA与Hibernate**:SpringBoot通过JPA提供ORM支持,Hibernate是常用的JPA实现。 - **数据库迁移**:Liquibase或Flyway可进行数据库版本控制和迁移。 7. **API设计与测试** - **RESTful API**:遵循HTTP协议...
例如,`spring-boot-starter-data-jpa`可以帮助快速配置JPA和Hibernate,用于数据库操作;`spring-boot-starter-web`则提供了Web服务的基础支持。 3. **内置Tomcat**:SpringBoot内嵌了Tomcat服务器,使得应用可以...
JPA 为应用程序提供了一组 API,用于操作数据库,而 Hibernate 则是按照 JPA 规范实现了这些功能,提供了更丰富的功能和更高效的性能。问题 10:谈谈你对 Spring Cloud 的理解,以及它在微服务架构中的作用。答案:...
* Hibernate 3.6.8:hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar、antlr-2.7.6.jar、commons-collections-3.1、dom4j-1.6.1.jar、javassist-3.12.0.GA.jar、jta-1.1.jar、slf4j-api-1.6.1.jar、slf4j-...
- **导入jar包:** 包括Hibernate核心包、JPA API、连接池(c3p0)、数据库驱动等。 - **配置hibernate.cfg.xml:** - 数据库连接信息(用户名、密码、URL、驱动等)。 - 可选配置项如方言、日志级别等。 - 映射...
#### 十三、简述Hibernate与MyBatis的区别? - **Hibernate**: Hibernate是一个全功能的ORM框架,它提供了强大的映射策略和缓存机制,支持复杂的关联关系和查询功能。 - **MyBatis**: MyBatis是一个半自动化映射的...
- 自我介绍:简述教育背景、工作经验、个人优点和职业规划。 - 学习方法:如何高效获取并应用新技术,如通过在线资源、社区和实践。 - 项目经验:分享实际项目中遇到的问题及解决方案。 - 问题解答:清晰、逻辑性强...