- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13章 JPA JPA简介 JPA全称Java Persistence API,它通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA由EJB 3.0软件专家组开发,取代EJB2.0中实体Bean的技术,它不仅可以在EJB3.0中使用,还可以在Web应用及桌面应用程序中使用。 JPA的宗旨是为POJO提供持久化标准规范,能够脱离EJB容器独立运行。 目前Hibernate、TopLink以及OpenJPA都提供了JPA的实现。 JPA优势 标准化:JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何符合 JPA 标准的框架都遵循同样的架构,提供相同的访问 API,这保证了基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA框架下运行。 对容器级特性的支持:JPA 框架中支持大数据集、事务、并发等容器级事务,这使得 JPA 超越了简单持久化框架的局限,在企业应用发挥更大的作用。 简单易用,集成方便。 可媲美JDBC的查询能力。 支持面向对象的高级特性。 JPA包括的技术 ORM映射元数据,JPA支持XML和JDK 5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中; JPA 的API用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者可以从繁琐的JDBC和SQL代码中解脱出来。 查询语言,这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。 常用JPA接口 Persistence接口:通过解析persistent.xml文件创建EntityManagerFactory对象。 EntityManagerFactory接口:用于创建EntityManager,如果不能注入EntityManager,需要使用EntityManagerFactory创建。 EntityManager接口:完成实体的管理,包括创建查询、删除实体、更新实体和添加实体等。 EntityManagerFactory emf = Persistence.createEntityManagerFactory(ch13); EntityManager em = emf.createEntityManager(); em.persist(entity)?;//添加实体—向数据库插入一条记录 EntityManager的主要方法 方法名 描述 persist 将实例转换为托管状态。实例将会被插入到数据库中。 merge 用于更新一个持久化对象。 refresh 保证当前的实例与数据库中对应的记录的内容一致。 remove ?将实体转换为游离状态,提交事务后删除数据库中的数据。 createQuery 更加JPQL语句创建一个Query(查询)对象 Query接口 Query接口:完成各种查询,通常由EntityManager创建,主要使用JPA的查询语言完成,也可以使用标准的SQL语言。 Query query =em.createQuery(from Emp); JPA的配置 与Hibernate相同,在EJB3.0中O/R映射由实体Bean完成,通过一组实体Bean映射到数据库中的各个表,这组实体Bean被称做Persistent Unit。 它是在persistent.xml文件中定义的,根据JPA标准,部署文件persistent.xml可以定义一个或多个Persistent Unit,它被放在项目的META-INF目录中。每个Persistent Unit只能关联一个且仅一个数据源。 !--必须要有name属性,不能为空 transaction-type属性 :本地事务管理-- persistence-unit name=ch13 transaction-type=RESOURCE_LOCAL !--采用Hibernate框架支持 -- providerorg.hibernate.ejb.HibernatePersistence/provider!--与数据库映射的实体Bean -- classcom.ch13.entity.Emp/class !--厂商的特定属性-- properties property name=hibernate.connection.driver_class value=com.mysql.jdbc.Driver / property name=hibernate.connection.url value=jdbc:mysq
您可能关注的文档
最近下载
- 商业中心分布式光伏发电项目投资计划书.pptx VIP
- 检验科程序文件.docx VIP
- 2025年云南省职教高考文化课程《数学》考试说明(暂定稿).docx VIP
- 第六届“挑战杯”中国大学生创业计划竞赛参赛作品.doc VIP
- 《高效学习初中物理的策略与方法》课件.ppt VIP
- 江淮瑞风S7汽车使用手册用户操作图解驾驶车主车辆说明书pdf电子版下载.pdf
- 经营管理培训课件.pptx VIP
- 2025年湖北省监督数据分析应用中心专项公开招聘22名工作人员笔试模拟试题及答案解析.docx VIP
- 《全新版大学进阶英语综合教程3》Unit2教案.pdf VIP
- 第十七章 后现代主义文论 (《西方文学理论》PPT课件).pptx VIP
文档评论(0)