千家信息网

JPA 深度刘宝宝剖析版

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,刘宝宝讲解开始了。。。。。第一讲 JPA介绍JPA1.JPA的概念:Java Persistence API:用于对象持久化的 APIJava EE 5.0 平台标准的 ORM 规范,使得应用程序以统
千家信息网最后更新 2025年02月01日JPA 深度刘宝宝剖析版

刘宝宝讲解开始了。。。。。

第一讲 JPA介绍

JPA

1.JPA的概念:
Java Persistence API:用于对象持久化的 API
Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层

2.JPA和hibernate的关系
从功能上来说, JPA 是 Hibernate 功能的一个子集

3.JPA的优势:
标准化: 提供相同的 API,这保证了基于JPA 开发的企业应用能够经过少量的修改就能够在不同的 JPA 框架下运行。
简单易用,集成方便: JPA 的主要目标之一就是提供更加简单的编程模型,在 JPA 框架下创建实体和创建 Java 类一样简单,只需要使用 javax.persistence.Entity 进行注释;JPA 的框架和接口也都非常简单,
可媲美JDBC的查询能力: JPA的查询语言是面向对象的,JPA定义了独特的JPQL,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能够提供的高级查询特性,甚至还能够支持子查询。
支持面向对象的高级特性: JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,最大限度的使用面向对象的模型

4.JPA 包括 3方面的技术
ORM 映射元数据:JPA 支持 XML 和 JDK 5.0 注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中。
JPA 的 API:用来操作实体对象,执行CRUD操作,框架在后台完成所有的事情,开发者从繁琐的 JDBC和 SQL代码中解脱出来。
查询语言(JPQL):这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序和具体的 SQL 紧密耦合。


1.persistence.xml 文件是固定的
2.当spring和hibernate整合的时候,这个persistence.xml就可以不要了,也可以放着

3.persistence.xml





org.hibernate.ejb.HibernatePersistence


com.baidu.jpa.helloworld.Customer


















第二讲 JPA工程创建步骤

1.创建数据库名
2.创建一个jpa project 选择2.0
3.创建一个lib文件 add Build Path
antlr-2.7.7.jar
dom4j-1.6.1.jar
ehcache-core-2.4.3.jar
hibernate-commons-annotations-4.0.2.Final.jar
hibernate-core-4.2.4.Final.jar
hibernate-ehcache-4.2.4.Final.jar
hibernate-entitymanager-4.2.4.Final.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
javassist-3.15.0-GA.jar
jboss-logging-3.1.0.GA.jar
jboss-transaction-api_1.1_spec-1.0.1.Final.jar
mysql-connector-java-5.1.7-bin.jar
slf4j-api-1.6.1.jar
4. persistence.xml
















5.创建包名com.baidu.jpa

创建持久化类 、实体类

@Entity
@Table(name="表名")

@Id
@@GeneratedValue(strategy=GenerationType.AUTO)

6.去配置文件,添加持久化类

com.baidu.jpa.helloworld.Customer

7.创建一个main方法类

//1.创建 EntitymanagerFactory
//persistenceUnitName 持久化单元名字
String persistenceUnitName = "jpa-1";
EntityManagerFactory emf = Persistence.createEntityManagerFactory(persistenceUnitName);

//2.创建 EntityManager

EntityManager em = emf.createEntityManager();

//3.开启事务

EntityTransaction et = em.getTransaction();
et.begin();
//4.进行持久化操作

Customer c = new Customer();
c.setAge(12);
c.setEmail("123@qq.com");
c.setLastName("张三");

em.persist(c); //保存

//5.提交事务

et.commit();

//6.关闭EntityManager

em.close();

//7.关闭EntityManagerFactory

emf.close();



对象 数据 查询 框架 支持 配置 实体 高级 之间 数据库 文件 特性 语言 选择 事务 功能 只有 接口 方面 标准 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发管理难题 龙源数据库论文查询 数据库对象可以隐藏吗 如何修改云服务器主机名 如何修改服务器界面配置 辽宁口碑好的软件开发具体地址 学校网络安全保密工作小结 我的世界远程服务器管理 保定市昊玥软件开发有限公司 超星集团下的数据库 无线传感网络技术的起源 山西调度服务器挂式云主机 厦门汽车备件管理软件开发 曲州老师画网络安全 香港服务器为什么全球都快 打印服务器软件有什么用 中国银行软件开发中心加班严重吗 网易实名认证服务器打盹了 文件服务器设置权限 郑州混合现实软件开发 开电子油票提示访问服务器异常 直播服务器崩溃原因 node开启静态服务器 华为网络安全之ai防火墙 python无服务器网站 税控机安全接入服务器 软件开发销售从哪里找客户 搭建vsftp服务器 润和软件开发麒麟970 怎么知道高斯数据库表已经锁表了
0