- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
扩展SpringDataJPA
扩展 Spring Data JPA在编写 Spring Data JPA 的 DAO 时, 只需在接口中按规约提供方法的声明即可。 而有些业务实现无法通过声明方法或编写简单 SQL 实现, 这就需要扩展Spring Data JPA。本文主要探讨 2 个问题:1. 如何为某一个特定 Repository 添加自定义方法。2. 如何为所有的 Repository 添加自定义的方法。问题 1: 为某一个特定 Repository 添加自定义方法。 具体步骤:1) 定义一个接口 : 声明要添加的方法2) 提供该接口的实现类: 类名需符合 EntityNameRepositoryImpl 格式, 并提供方法的实现3) 声明一个 Repository 接口 , 并继承 1) 声明的接口4) 使用5) 注意: 默认情况下, Spring Data 会在 base-package 中查找 接口名 Impl作为实现类. 也可以通过 repository-impl-postfix 声明后缀示例代码:1) 定义一个接口 : 声明要添加的方法package com.atguigu.jpa.repository;public interface EmployeeDao { void method();}2) 提供该接口的实现类: 类名需符合 EntityNameRepositoryImpl 格式, 并提供方法的实现package com.atguigu.jpa.repository;import javax.persistence.EntityManager;import javax.persistence.PersistenceContext;public class EmployeeRepositoryImpl implements EmployeeDao{ //获取当前线程的 EntityManager 实例@PersistenceContext private EntityManager entityManager; @Override public void method() { System.out.println(method... + entityManager);}}3) 声明一个 Repository 接口 , 并继承 1) 声明的接口package com.atguigu.jpa.repository;import org.springframework.data.jpa.repository.JpaRepository;import com.atguigu.jpa.beans.Employee;public interface EmployeeRepository extends JpaRepositoryEmployee, Integer, EmployeeDao{}4) 使用EmployeeRepository employeeRepository =ctx.getBean(EmployeeRepository.class);employeeRepository.method();问题 2: 为所有的 Repository 添加自定义的方法。 具体步骤:1) 声明一个接口 , 在该接口中声明需要自定义的方法, 该接口需要继承Spring Data 的 Repository 接口或其子接口 .2) 提供 1) 所声明的接口的实现类. 且继承 SimpleJpaRepository, 并提供方法的实现。 注意: 全局的扩展实现类不要用RepositoryImp作为后缀名,或为全局扩展接口添加@NoRepositoryBean 注解告知 Spring Data: 该实现类不是一个 Repository3) 定义 RepositoryFactoryBean 的实现类, 使其生成 1) 定义的接口实现类的对象4) 修改 jpa:repositories / 节点的 factory-class 属性指向 3) 的全类名5) 使用示例代码:1) 声明一个接口 , 在该接口中声明需要自定义的方法 , 该接口需要继承Spring Data 的 Repository 接口或其子接口.package com.atguigu.jpa.repository;import java.io.Serializable;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.repository.N
您可能关注的文档
最近下载
- 华为战略神器“五看三定”模型究竟是什么.doc VIP
- 【PPT课件】2018版安徽省建设工程计价依据宣贯(房建、装饰工程宣贯课件).docx
- 人教版英语八年级下册 Unit 9 Have you ever been to a museum 单元整体教学设计.docx VIP
- 表9.1.7 OPGW光缆安装检验批质量验收记录表.docx VIP
- 尊师惠师工作的创新策略与实施方案.docx
- 《旅游景区服务与管理》教案 第1课 认识旅游景区.pdf VIP
- 2025年宁夏中考语文试题及答案(word版).doc VIP
- 表9.1.3 导线、地线耐张管施工检验批质量验收记录表.docx VIP
- 麻醉术后苏醒延迟病例分析与管理.pptx VIP
- 2025至2030中国儿童口腔护理行业发展趋势与未来销售规模研究报告.docx VIP
文档评论(0)