JPA 学习笔记
eclipse 新建jpa项目 :
修改 persistence.xml 文件
创建 Customer 类:
column 名称和数据库名称对应则不用写
类写好后在 persistence.xml 添加持久化类:
编写main方法:
右键运行 数据库自动创建:数据插入数据库
JPA基本注解:
一般讲注解加到 get方法上面:
如果entity 中有列名没有加注解 就相当于自动加上了 @Basic 注解
entity中不需要映射到数据库表的一列 可以加 @Transient
创建默认 birth,createdTime 数据库生成样式:
birth createdTime 类型是 datatime 类型:
重新设置后:createdTime 精确到时分秒 birth 精确到 日期
业务场景不是很多:
pkColumnName -》 PK_NAME 确定列
pkColumnValue -CUSTOMER_ID 确定第几行
valueColumnName -》确定初始化值
allocationSize-》每次增长多少
Find方法 调用方法直接发sql语句 :
getReference 方法调用不发sql, 用到 查询出结果时候才发出sql 懒加载:
persistence 方法类似save方法 有些许不同:
hibernate delete方法:new customer 不能进行移除 只有查询出来的可以移除
hibernate saveOrUpdate 方法:
如果是hibernate session关联2个数据不能进行saveOrUpdate方法 已经有ID=4的数据 并且数据库有数据 entityManager 关联 customer 1,2 JPA可以进行merge:
类似
----------------------------------------------------------------------------------------------------------------------------------------------------
和hibernate session 中 flush 方法相同。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
关联关系:
----------------------------------------------------------------------------------------------------------------------------------------------------------------
单向多对一:
多个order 对应一个 Customer
保存:
懒加载ManyToOne:fetch lazy
删除:
修改:
单向一对多:
保存:
查询:加载方式也可以修改 Customer 类中 getOrder 方法 @OneToMany fetch 属性修改加载策略
修改:可以级联删除 级联制空
修改:set直接就update了??????????
双向多对一:
上面两种情况同时打开就是双向多对一 也就是双向一对多:
customer
order
保存:
放弃维护关系:Customer类中 设置 mappedBy="customer"
双向一对一:
经理和部门关系:
department:
manager:
保存:
查询:
JPA 学习笔记的更多相关文章
- JPA学习笔记(8)——映射一对多关联关系
一对多关联关系 本文有很多和多对一是一样的,因此不会写得非常具体. 有看不懂的.能够參考JPA学习笔记(7)--映射多对一关联关系 Order实体类 package com.jpa.helloworl ...
- Spring学习---JPA学习笔记
用了一段时间的Spring,到现在也只是处于会用的状态,对于深入一点的东西都不太了解.所以决定开始深入学习Spring. 本文主要记录JPA学习.在学习JPA之前,需要了解一些ORM的概念. ORM概 ...
- spring jpa 学习笔记(一) 之集成
一.pom 配置 <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apa ...
- JPA学习笔记1——JPA基础
1.JPA简介: Java持久化规范,是从EJB2.x以前的实体Bean(Entity bean)分离出来的,EJB3以后不再有实体bean,而是将实体bean放到JPA中实现.JPA是sun提出的一 ...
- JPA学习笔记
一.JPA基础1.1 JPA基础JPA: java persistence api 支持XML.JDK5.0注解俩种元数据的形式,是SUN公司引入的JPA ORM规范 元数据:对象和表之间的映射关系 ...
- JPA学习笔记(8)——映射双向一对多关联关系
双向一对多关联关系 前面的博客讲的都是单向的,而本问讲的是双向的(双向一对多 = 双向多对一) 什么是双向? 我们来对照一下单向和双向 单向/双向 User实体类中是否有List< Order& ...
- spring data jpa 学习笔记
springboot 集成 springData Jpa 1.在pom.xml添加依赖 <!-- SpringData-Jpa依赖--> <dependency <groupI ...
- Spring JPA学习笔记
目录 什么是JPA? 引入配置 新建一个Entity Bean类 JPA的增删改查 新建操作接口 新建测试类 总结 什么是JPA? 什么是JDBC知道吧?数据库有Mysql,SQL Server,Or ...
- JPA学习笔记(3)——JPA注解
Entity Table Id GeneratedValue Basic Column Transient Temporal @Entity @Entity 标注用于实体类声明语句之前.指出该Java ...
- JPA学习笔记1——JPA基础 (转自CSDN)
http://blog.csdn.net/chjttony/article/details/6086298 1.JPA简介: Java持久化规范,是从EJB2.x以前的实体Bean(Entity be ...
随机推荐
- 30. Substring with Concatenation of All Words (JAVA)
You are given a string, s, and a list of words, words, that are all of the same length. Find all sta ...
- vs2013 找不到帮助 help查看器
我手贱把help查看器卸载了,打开帮助提示找不到帮助. 不想把vs重装,打开ios镜像,加载,cmd进入 到packages\Help 执行msiexec /i help3_vs_net.msi vs ...
- mkdir -建立目录
总览 mkdir [选项] 目录... POSIX 选项: [-p] [-m mode] GNU 选项(缩写): [-p] [-m mode] [--verbose] [--help] [--vers ...
- 关于prepareStatement(String sql,int autoGeneratedKeys)的记录
PreparedStatement prepareStatement(String sql,int autoGeneratedKeys) throws SQLException autoGenerat ...
- Testbench学习笔记
Testbench学习笔记(一) 书写testbench是数字电路设计中不可或缺的一项设计方法,主要是提供的是激励.尽管现在各种开发工具都通过绘制波形图的方法生成测试激励,测试书写的代码,但是其不可移 ...
- DevExpress ASP.NET Core Controls 2019发展蓝图(No.6)
本文主要为大家介绍DevExpress ASP.NET Core Controls 2019年的官方发展蓝图,更多精彩内容欢迎持续收藏关注哦~ [DevExpress ASP.NET Controls ...
- mysql 分页查询及优化
1.分页查询 select * from table limit startNum,pageSize 或者 select * from table limit pageSize offset star ...
- [洛谷P2154] SDOI2009 虔诚的墓主人
问题描述 小W是一片新造公墓的管理人.公墓可以看成一块N×M的矩形,矩形的每个格点,要么种着一棵常青树,要么是一块还没有归属的墓地. 当地的居民都是非常虔诚的基督徒,他们愿意提前为自己找一块合适墓地. ...
- 1. svn 简介
参考文档: http://svndoc.iusesvn.com/ SVN的 相关网站 什么是svn?Subversion是一个“集中式”的信息共享系统.版本库是Subversion的核心部分,是数据的 ...
- 在 centos7.5 使用 DockerFile 构建镜像时报错 "Error parsing reference:"microsoft/dotnet:2.2-aspnetcore-runtime AS base"is not a valid repository/tag: invalid reference format"
运行 dockerfile 时报出的错误 FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base Error parsing reference: & ...