JPA学习
【JPA 简介】JPA(Java Persistence API)
JPA 不是一个ORM 的框架, 而是一个ORM 的规范,只指定了一些接口, 具体的实现由应用服务器厂商来提供实现。 JPA的实现产品有Hibernate 、Toplink 等,JBoss 服务器底层就以HIbernate 作为实现, Glassfish 服务器底层以Toplink 作为实现。 一句话来说, JPA 是 hibernate 和 Toplink 的更高级抽象, 可以实现一次编码,底层ORM框架任意切换。使用JPA 开发出来的应用,不再依赖某一个持久化框架,可以在不修改代码的情况 下在任何JPA 环境下运行,真正做到低耦合。
【JPA 主要内容】
JPA 主要又三方面内容:
--> 映射元数据 Entity:
--> 持久化API
--> 查询语言 JPQL:
【JPA 总结】
JPA 和 Hibernate 类似, 在进行单表操作和 两个表关联的时候使用起来非常方便,但是在多表关系比较复杂的时候,就很难驾驭JPA。根据笔者的开发经验,在多表关系复杂的情况下使用JPA 或 Hibernate 时,一般都会采用隐式外键,外键的业务逻辑放到代码中来做,这样开发会比较方便。
JPA学习的更多相关文章
- JPA学习---第一节:JPA详解
一.详解 JPA JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据.他的出现主要是 ...
- Spring学习---JPA学习笔记
用了一段时间的Spring,到现在也只是处于会用的状态,对于深入一点的东西都不太了解.所以决定开始深入学习Spring. 本文主要记录JPA学习.在学习JPA之前,需要了解一些ORM的概念. ORM概 ...
- JPA学习笔记(8)——映射一对多关联关系
一对多关联关系 本文有很多和多对一是一样的,因此不会写得非常具体. 有看不懂的.能够參考JPA学习笔记(7)--映射多对一关联关系 Order实体类 package com.jpa.helloworl ...
- JPA学习(六、JPA_JPQL)
框架学习之JPA(六) JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 ...
- JPA学习(五、JPA_二级缓存)
框架学习之JPA(五) JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 ...
- JPA学习(四、JPA_映射关联关系)
框架学习之JPA(四) JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 ...
- JPA学习(三、JPA_API)
框架学习之JPA(三) JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 ...
- JPA学习(二、JPA_基本注解)
框架学习之JPA(二) JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 ...
- JPA学习(一、JPA_Hello World)
框架学习之JPA(一) JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 ...
- Spring Data JPA 学习记录1 -- 单向1:N关联的一些问题
开新坑 开新坑了(笑)....公司项目使用的是Spring Data JPA做持久化框架....学习了一段时间以后发现了一点值得注意的小问题.....与大家分享 主要是针对1:N单向关联产生的一系列问 ...
随机推荐
- AtCoder Grand Contest 008
AtCoder Grand Contest 008 A - Simple Calculator 翻译 有一个计算器,上面有一个显示按钮和两个其他的按钮.初始时,计算器上显示的数字是\(x\),现在想把 ...
- A guess 解题报告
A guess 题意 选一个\([1,n](n\le 500)\)的整数,可以询问数是否属于区间\([l,r]\),多次询问一起回答,统计有多少种询问区间集合(无序)满足可以猜出这个数,对\(p(2^ ...
- bzoj1013/luogu4035 球形空间生成器 (高斯消元)
根据各点到圆心的距离相等,可以列出有N个等号的方程 假设圆心坐标是(x,y,z,...)的话,$x^2,y^2,z^2$等是可以消掉的 于是整理一下,就变成了N元1次方程组,有N个方程.而且保证是相容 ...
- luogu1328 [NOIp2014]生活大爆炸版石头剪刀布 (模拟)
#include<bits/stdc++.h> #define pa pair<int,int> #define CLR(a,x) memset(a,x,sizeof(a)) ...
- GDKOI2018发烧记
偏远小渔村NOIP螺旋升天选手又一次来到了广州参加GDKOI...金实的初三爷们也来啦?要被碾啦T T Day 0 跟HR Lao爷拼(biao)车到了高铁站,上了高铁居然没有颓颓颓吃吃吃(雾),安心 ...
- 枚举类型---java基础代码
package com.mon11.day4; /** * 类说明 :定义枚举 * @author 作者 : chenyanlong * @version 创建时间:2017年11月4日 */ pub ...
- LVS NAT/DR
LVS介绍:http://www.linuxvirtualserver.org/zh/lvs3.html DR 工作流: HOST发送服务请求报文(源IP为HOST IP,目的IP为VSIP) Gen ...
- Nginx的基本配置案例
Nginx的基本配置案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx配置虚拟主机 .操作系统环境 [root@yinzhengjie ~]# cat /etc ...
- Linux让git记住账号密码
Linux让git记住账号密码 ——IT唐伯虎 摘要: Linux让git记住账号密码. 1.进入根目录,指令:cd / 2.创建记录账号密码的文件,指令:touch .git-credentials ...
- MySql与对应的Java的时间类型
MySql的时间类型有 Java中与之对应的时间类型date java.sql.Date Date ...