- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
了解SpringDataJPA
了解SpringDataJPA前言自 JPA 伴随 Java EE 5 发布以来,受到了各大厂商及开源社区的追捧,各种商用的和开源的 JPA 框架如雨后春笋般出现,为开发者提供了丰富的选择。它一改之前 EJB 2.x 中实体 Bean 笨重且难以使用的形象,充分吸收了在开源社区已经相对成熟的 ORM 思想。另外,它并不依赖于 EJB 容器,可以作为一个独立的持久层技术而存在。目前比较成熟的 JPA 框架主要包括 Jboss 的 Hibernate EntityManager、Oracle 捐献给 Eclipse 社区的 EclipseLink、Apache 的 OpenJPA 等。Java持久化规范,是从EJB2.x以前的实体Bean(Entity bean)分离出来的,EJB3以后不再有实体bean,而是将实体bean放到JPA中实现。JPA是sun提出的一个对象持久化规范,各JavaEE应用服务器自主选择具体实现,JPA的设计者是Hibernate框架的作者,因此Hibernate作为Jboss服务器中JPA的默认实现,Oracle的Weblogic使用EclipseLink(以前叫TopLink)作为默认的JPA实现,IBM的Websphere和Sun的Glassfish默认使用OpenJPA(Apache的一个开源项目)作为其默认的JPA实现。JPA的底层实现是一些流行的开源ORM(对象关系映射)框架,因此JPA其实也就是java实体对象和关系型数据库建立起映射关系,通过面向对象编程的思想操作关系型数据库的规范。Spring 框架对 JPA 的支持Spring 框架对 JPA 提供的支持主要体现在如下几个方面:首先,它使得 JPA 配置变得更加灵活。JPA 规范要求,配置文件必须命名为 persistence.xml,并存在于类路径下的 META-INF 目录中。该文件通常包含了初始化 JPA 引擎所需的全部信息。Spring 提供的 LocalContainerEntityManagerFactoryBean 提供了非常灵活的配置,persistence.xml 中的信息都可以在此以属性注入的方式提供。其次,Spring 实现了部分在 EJB 容器环境下才具有的功能,比如对 @PersistenceContext、@PersistenceUnit 的容器注入支持。第三,也是最具意义的,Spring 将 EntityManager 的创建与销毁、事务管理等代码抽取出来,并由其统一管理,开发者不需要关心这些,业务方法中只剩下操作领域对象的代码,事务管理和 EntityManager 创建、销毁的代码都不再需要开发者关心了。Spring Data JPA?更简洁Spring Data JPA 框架,主要针对的就是 Spring 唯一没有简化到的业务逻辑代码,至此,开发者连仅剩的实现持久层业务逻辑的工作都省了,唯一要做的,就只是声明持久层的接口,其他都交给 Spring Data JPA 来帮你完成!下面就来了解Spring Data JPA。1.下载需要的包。需要先 下载Spring Data JPA 的发布包(需要同时下载 Spring Data Commons 和 Spring Data JPA 两个发布包,Commons 是 Spring Data 的公共基础包),并把相关的依赖 JAR 文件加入到 CLASSPATH 中。2.让持久层接口 Dao(以UserDao)?继承 Repository 接口。该接口使用了泛型,需要为其提供两个类型:第一个为该接口处理的域对象类型,第二个为该域对象的主键类型。 如下:Spring Data JPA 风格的持久层接口:public interface UserDao extends RepositoryAccountInfo, Long { public AccountInfo save(AccountInfo accountInfo); }不需要UserDao的实现类,框架会为我们完成业务逻辑。3.在 Spring 配置文件中启用扫描并自动创建代理的功能。 -- 需要在 beans 标签中增加对 jpa 命名空间的引用 -- jpa:repositories base-package=footmark.springdata.jpa.dao entity-manager-factory-ref=entityManagerFactory transaction-manager-ref=transactionManager/ 4.测试代码。 public interface UserDao extends RepositoryAccountInfo, Long { pub
您可能关注的文档
- windchill开发简单入门.doc
- 数据结构(C++语言)---舞伴问题.doc
- 必修一 Uint 3测试题含答案.doc
- 福州教育二附中公开课《美国1787年宪法》教案.doc
- 实验八-队列(循环队列)的表示和实现-舞伴问题.doc
- 高三英语专题训练4.doc
- Drools的进一步研究.doc
- windows 下C++操作Mysql的一些总结.doc
- WebQuest网络课堂设计.doc
- dbcp优化配置说明.doc
- [广西]2024年广西民族大学招聘高层次人才笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [徐州]2024年江苏徐州云龙区城市管理协管员招聘10人笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [广州]2023年广东广州中医药大学科研助理招聘(第六批)笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [广州]广东广州越秀区建设街招聘党政综合办公室辅助人员笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [开封]2024年河南开封市中医院招聘10人笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [徐州]2024年江苏徐州市儿童医院招聘非在编医务人员26人笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [广州]广东广州荔湾区南源街道办事处招聘编外人员笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [开封]2024年河南开封市第二中医院招聘有工作经验工作人员(人事代理)笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [张家界]2024年湖南张家界市永定区招聘教师38人笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [广东]2024年广东省通信管理局局属单位招聘笔试上岸试题历年高频考点难、易错点附带答案详解.docx
文档评论(0)