摘要: Spring Data JPA 环境搭建 参考https://www.cnblogs.com/wumingoo1/p/13414718.html 基本 CRUD 满足基本 CRUD 的接口 只要让 DAO 层接口 继承 JpaRepository,JpaSpecificationExecutor 接 阅读全文
posted @ 2020-08-01 17:59 学习java进行时 阅读(271) 评论(0) 推荐(0) 编辑
摘要: getReference 方法 延迟加载:什么时候用什么时候查询 找到返回 代理对象 找不到 抛出 javax.persistence.EntityNotFoundException getReference 方法测试 @Test public void test() { EntityManager 阅读全文
posted @ 2020-08-01 17:56 学习java进行时 阅读(143) 评论(0) 推荐(0) 编辑
摘要: ORM:Object/Relation Mapping,对象关系映射 JPA:Java Persistence API,是 ORM 规范,是 JCP 组织发布的 Java EE 标准之一 Hibernate:ORM框架,实现了 JPA 规范 阅读全文
posted @ 2020-07-30 19:05 学习java进行时 阅读(99) 评论(0) 推荐(0) 编辑
摘要: JPA 核心配置文件 类路径 META-INF/persistence.xml: <?xml version="1.0" encoding="UTF-8"?> <!-- persistence-unit(持久化单元) name:持久化单元名称 transaction-type(事务类型): JTA: 阅读全文
posted @ 2020-07-30 17:50 学习java进行时 阅读(167) 评论(0) 推荐(0) 编辑
摘要: JPQL JPQL:Java Persistence Query Language 用于完成复杂查询,EntityManager.find 方法只能完成根据 id 查询 和 SQL 语法基本一致,但 JPQL 不支持 select * 查出来的实体对象的均处于 Managed 状态,可以用于 rem 阅读全文
posted @ 2020-07-30 17:48 学习java进行时 阅读(187) 评论(0) 推荐(0) 编辑
摘要: merge 方法 插入 或 更新 merge 方法不会改变传入的实体的状态 merge 方法会返回一个 Managed 状态的实体,可以进行 remove,setter 等操作 merge 方法测试 merge 方法插入无 id 实体 前提:配置实体的主键生成策略为自动生成,否则会抛出异常 @Tes 阅读全文
posted @ 2020-07-30 16:57 学习java进行时 阅读(1626) 评论(0) 推荐(0) 编辑
摘要: flush 方法 将Managed状态的实体中的数据更新到数据库中(不用等到 commit 了) flush 方法测试 find 之后 setter 之后 flush @Test public void test() { EntityManagerFactory factory = Persiste 阅读全文
posted @ 2020-07-29 20:08 学习java进行时 阅读(1308) 评论(0) 推荐(0) 编辑
摘要: refresh 方法 刷新:将数据库中的数据刷新到Managed状态的实体中 refresh 方法测试 find 之后 setter 之后 refresh @Test public void test() { EntityManagerFactory factory = Persistence.cr 阅读全文
posted @ 2020-07-29 19:56 学习java进行时 阅读(784) 评论(0) 推荐(0) 编辑
摘要: persist 方法 持久化:保存并使得实体保持Managed状态 发送insert语句的时机: 如果配置主键生成策略为自动生成,则立即发送 insert 语句到数据库,因为应用程序可能需要这个自动生成的 id 如果配置主键生成策略为手动设置,则 commit 时发送 insert 语句到数据库 p 阅读全文
posted @ 2020-07-29 19:29 学习java进行时 阅读(2232) 评论(0) 推荐(0) 编辑
摘要: find 方法 立即加载:在调用find方法的时候,就会查找缓存,找不到立即发送sql语句查询数据库。 找到返回实体类对象,可以用于remove,setter,remove之后还可以调用persist保存。 找不到返回null。 find 方法测试 find 之后 setter 实现更新 @Test 阅读全文
posted @ 2020-07-29 19:00 学习java进行时 阅读(613) 评论(0) 推荐(0) 编辑