
JPA
苍穹尘
文能提笔安天下,武能上"码"定乾坤。
展开
-
JPA系列一:简介
1、简介:Java Persistence API:用于对象持久化的 API。Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层。2、JPA 是 hibernate 的一个抽象(就像JDBC和JDBC驱动的关系): JPA 是规范:JPA 本质上就是一种 ORM 规范,不是ORM 框架 —— 因为 JPA 并未提供 ORM 实现,它只是制订了一些规范...原创 2019-05-02 11:47:37 · 7162 阅读 · 0 评论 -
JPA系列十三:JPQL-函数
1、函数 JPQL提供了以下一些内建函数,包括字符串处理函数、算术函数和日期函数。字符串处理函数主要有: concat(String s1, String s2):字符串合并/连接函数。 substring(String s, int start, int length):取字串函数。 trim([leading|trailing|both,] [char c,] String s):从...原创 2019-05-03 10:04:44 · 3176 阅读 · 0 评论 -
JPA系列十二:JPQL-Select语句
select语句用于执行查询。1、from 子句 from 子句是查询语句的必选子句。Select 用来指定查询返回的结果实体或实体的某些属性。From 子句声明查询源实体类,并指定标识符变量(相当于SQL表的别名)。 如果不希望返回重复实体,可使用关键字 distinct 修饰。select、from 都是 JPQL 的关键字,通常全大写或全小写,建议不要大小写混用。2、查询所有实体...原创 2019-05-03 10:04:36 · 4082 阅读 · 0 评论 -
JPA系列十一:JPQL-Query接口
JPQL语言,即 Java Persistence Query Language 的简称。JPQL 是一种和 SQL 非常类似的中间性和对象化查询语言,它最终会被编译成针对不同底层数据库的 SQL 查询,从而屏蔽不同数据库的差异。 JPQL语言的语句可以是 select 语句、update 语句或delete语句,它们都通过 Query 接口封装执行。 Query接口封装了执行数据库查询的相...原创 2019-05-03 10:04:29 · 1498 阅读 · 0 评论 -
JPA系列十:二级缓存
1、在persistence.xml中配置<!-- 配置二级缓存的策略 ALL:所有的实体类都被缓存 NONE:所有的实体类都不被缓存. ENABLE_SELECTIVE:标识 @Cacheable(true) 注解的实体类将被缓存 DISABLE_SELECTIVE:缓存除标识 @Cacheable(false) 以外的所有实体类 UNSPECIFIED:默认值,JPA...原创 2019-05-02 19:11:45 · 413 阅读 · 0 评论 -
JPA系列九:映射关联关系-双向多对多
1、创建实体类Category@Table(name="JPA_CATEGORIES")@Entitypublic class Category { private Integer id; private String categoryName; private Set<Item> items = new HashSet<>(); @Generated...原创 2019-05-02 18:31:14 · 194 阅读 · 0 评论 -
JPA系列八:映射关联关系-双向一对多
1、在实体类Order中添加customer属性及其getter和setter方法private Customer customer;//映射单向多对一的关联关系//使用 @ManyToOne 来映射多对一的关联关系//使用 @JoinColumn 来映射外键.//可使用 @ManyToOne 的 fetch 属性来修改默认的关联属性的加载策略@JoinColumn(name="CU...原创 2019-05-02 16:48:07 · 146 阅读 · 0 评论 -
JPA系列五:映射关联关系-单向一对多
1、删除实体类Order中的customer属性及其getter和setter方法。2、在实体类Customer中添加orders属性及其getter和setter方法。private Set<Order> orders = new HashSet<>();//映射单向一对多的关联关系//使用 @OneToMany 来映射一对多的关联关系//使用 @JoinCo...原创 2019-05-02 16:46:22 · 232 阅读 · 0 评论 -
JPA系列六:映射关联关系-单向多对一
1、创建实体类Order@Table(name="JPA_ORDERS")@Entitypublic class Order { private Integer id; private String orderName; private Customer customer; @GeneratedValue @Id public Integer getId() { retu...原创 2019-05-02 16:45:17 · 206 阅读 · 0 评论 -
JPA系列七:映射关联关系-双向一对一
一、单向多对一1、创建实体类Order@Table(name="JPA_ORDERS")@Entitypublic class Order { private Integer id; private String orderName; private Customer customer; @GeneratedValue @Id public Integer getId() ...原创 2019-05-02 16:10:01 · 195 阅读 · 0 评论 -
JPA系列四:相关接口和类
1、Persistence: Persistence 类是用于获取 EntityManagerFactory 实例。该类包含一个名为 createEntityManagerFactory 的 静态方法 。createEntityManagerFactory 方法有如下两个重载版本: 带有一个参数的方法以 JPA 配置文件 persistence.xml 中的持久化单元名为参数。Entity...原创 2019-05-02 15:14:29 · 717 阅读 · 0 评论 -
JPA系列三:基本注解
1、@Entity 注解: @Entity 标注用于实体类声明语句之前,指出该Java 类为实体类,将映射到指定的数据库表。如声明一个实体类 Customer,它将映射到数据库中的 customer 表上。@Entitypublic class Customer {}2、@Table 注解: 当实体类与其映射的数据库表名不同名时需要使用 @Table 标注说明,该标注与 @Entit...原创 2019-05-02 14:01:48 · 245 阅读 · 0 评论 -
JPA系列二:基本使用
1、创建jpa项目2、添加maven模块3、删除lib文件夹。将META-INF移到resources里面。4、引入依赖<dependencies> <!-- hibernate 依赖 --> <dependency> <groupId>org.hibernate</groupId> ...原创 2019-05-02 13:18:49 · 440 阅读 · 1 评论 -
JPA系列十四:整合Spring
三种整合方式: 1、LocalEntityManagerFactoryBean:适用于那些仅使用 JPA 进行数据访问的项目,该 FactoryBean 将根据JPA PersistenceProvider 自动检测配置文件进行工作,一般从“META-INF/persistence.xml”读取配置信息,这种方式最简单,但不能设置 Spring 中定义的DataSource,且不支持 Sprin...原创 2019-05-03 10:04:48 · 597 阅读 · 0 评论