際際滷

際際滷Share a Scribd company logo
Java JPA
JPA(Java Persistence API)
JPA?
蟯螻 一危磯伎れ 蠏狩蠍  譴
ORM(Object-relational Mapping) 蠍一 螻牛 蠍一ヾ
EJB 蠍一 豌危 蠍一.
History (EJB->Hibernate->JPA)
JPA : ORM(Object-relational Mapping) 蠍一 譴,
EJB 3.0 企れ危 蠍磯朱 襷れ伎.
JPA 1.0(2006) : 豐蠍磯
JPA 2.0(2009) : 覿覿 ORM 蠍磯. JPA
Criteria豢螳
JPA 2.1 (2013) : ろ企 襦 蠏 螳,
貉覯, 壱 蠏碁 蠍磯 豢螳
Architecture
MemberDAO
JPA
MySQL
API
Oracle
API
H2
JPQL
API DBMS
persist
find
result
Insert
select
resultSet
DB modeling VS Object modeling
覈碁 れ 企 : DB => Object
Build application
based on DB modeling
企覲企  襷 螳豌 煙 蟲.
RDBMS 螳豌伎リ骸 蟇磯Μ螳 覃.
JAVA 螳豌伎 谿語^襯  覦覃 RDBMS
foreign key襯 谿語^.
螳豌伎  蠏殊 JAVA  RDBMS螳 谿願 .
企 蟲譟 覲蟆曙 application  殊癌
IBATIS VS JPA
Alter table(add column) 殊企 蟆曙
1. Ibatis : Sql mapper , domain class,
business class set 豌襴 (if れ 貎朱Μ
覃 企り 譟伎る?)
2. JPA : 覃 , 觜讀 襦讌 ! ?
WHY JPA?
覦覲旧 CRUD襯 譴願 螳豌伎 り 襦讌
讌譴.
覦覲旧 DB 譟壱  螳豌 蠏碁螳 螳.
DBMS Vendor 蟯螻 螳 (螳覦蟆 : H2,
讌覲伎 蟆 : Mysql, ろ蟆 : oracle)
豐蠍 螳覦 觜襯願 讌覲伎螳 麹 .
Junit 覯螳 伎.
WHY JPA?
糾 豌襴覲企る れ螳 豌襴 貎朱Μ 豕. 糾
豌襴 蟆曙 れ危磯 SQL襯  轟 IBATIS 襯
殊 
一危 蠏 豢 DBMS 覦企  襴曙
: vendor 襷 dialect  => 伎 覦, ろ碁
, 讌
Life cycle of Persistence
Context
Entity Manager
Entity Manager Factory : entity manager襯 
Entity manager : request or session persistence
蟯襴. (persist, find, flush)
Entity Transaction : commit  persistence area
伎 覦
Entity Manager
Architecture
DBMS
persist
Entity_1
Entity_1
Cache
SQL repository
Store entity
Generate SQL
Entity Manager
EntityManagerFactory factory =
Persistence.createEntityManagerFactory(Members);
em = factory.createEntityManager();
Member mem = new Member();
mem.setUserName(coder);
mem.setAge(33);
Member selectedMember = em.find(Member.class, id);
Entity
@Entity
public class User{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "name", nullable = false)
private String name;
@Column(name = "age", nullable = false)
private Integer age;
@Enumerated(EnumType.STRING)
private ActiveType activeType;
@ManyToOne(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@JoinColumn(name="DEPT_ID)
private Dept dept;
JPQL
螳豌伎 貎朱Μ => 螳豌企ゼ 譟壱
SQL 豢覩襦 轟 一危 覯伎れ
譬伎 .
Ex)
Query query = em.createQuery(SELECT m.name, m.age from Member m);
Criteria API
JPQL  type-safe 覓語願屋 伎 螻牛 API.
Ex)
CriteriaQuery<Member> cq =
cb.createQuery(Member.class)
cq.from(Member.class).select(m);
Native Query
JPQL 蟇一 覈 SQL 讌讌覃 轟 DBMS
JPQL 貉る螳 覿螳
磯殊 企 DBMS れ危磯 query 豌襴襦 .
Ex)
Query query = em.createNativeQuery(SELECT
m.name, m.age from Member m);
QueryDSL
Sample project 谿語^
Spring data JPA
Repository(interface)襦
Web project template
Based on Spring Boot
Based on Vaadin + spring data JPA
Web project framework
Test Driven Development(JUnit)
Next Seminar (two per month)
Vaadin + Spring data JPA
Rabbit MQ
Google Polymer
Ad

Recommended

Ksug2015 - JPA1, JPA 螳
Ksug2015 - JPA1, JPA 螳
Younghan Kim
Ksug2015 jpa4 ≡求a釈
Ksug2015 jpa4 ≡求a釈
Younghan Kim
Ksug2015 - JPA3, JPA ≡
Ksug2015 - JPA3, JPA ≡
Younghan Kim
Ksug2015 - JPA2, JPA 求≡求
Ksug2015 - JPA2, JPA 求≡求
Younghan Kim
SpringDataJPA - ろ襷 貂
SpringDataJPA - ろ襷 貂
Younghan Kim
Jpa = (=梶 メ) =
Jpa = (=梶 メ) =
蟆曙
п釈メ メ梶梶 梶 JPA
п釈メ メ梶梶 梶 JPA
蟆曙
譬豢磯 ORM 螳覦蠍 | Devon 2012
譬豢磯 ORM 螳覦蠍 | Devon 2012
Daum DNA
DDD 蟲蠍一 (蟇一 Final 覯)
DDD 蟲蠍一 (蟇一 Final 覯)
beom kyun choi
Ksug2015 jpa5 梶梶求釈jpa
Ksug2015 jpa5 梶梶求釈jpa
Younghan Kim
Hibernate start (企れ危 蠍)
Hibernate start (企れ危 蠍)
visual khh
Spring data jpa
Spring data jpa
Taesin Um
Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇
Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇
Javajigi Jaesung
[162] jpa メ = 求 メ= 求
[162] jpa メ = 求 メ= 求
NAVER D2
MyBatis JPA襦
MyBatis JPA襦
Dongmin Shin
ORM 蟆曙一 り, 螳覦 螻殊
ORM 蟆曙一 り, 螳覦 螻殊
Javajigi Jaesung
Jquery javascript_ed10
Jquery javascript_ed10
hungrok
[ろれ雑ろ]MyBatis Basic
[ろれ雑ろ]MyBatis Basic
Ji-Woong Choi
覦 PPT
覦 PPT
JinKyoungHeo
Jpa 貎朱Μ 襭
Jpa 貎朱Μ 襭
Hyosang Hong
Java script 螳襭_ed13
Java script 螳襭_ed13
hungrok
覃 譯朱 り - 6 覃 螳豌伎 覈譯手鍵
覃 譯朱 り - 6 覃 螳豌伎 覈譯手鍵
JangHyuk You
DDD 蠏瑚 覘 (螳 谿襾麹ク)
DDD 蠏瑚 覘 (螳 谿襾麹ク)
覈 螻
Java advancd ed10
Java advancd ed10
hungrok
9 object class
9 object class
MyBatis 螳 Java+MyBatis+MySQL
MyBatis 螳 Java+MyBatis+MySQL
4-3. jquery
4-3. jquery
JinKyoungHeo
Web server page_ed10
Web server page_ed10
hungrok
[螳螳] 襦企 螳覦 覓 貂 4蠍
[螳螳] 襦企 螳覦 覓 貂 4蠍
FAST CAMPUS
煙蟲 SAGE 伎 螳企
煙蟲 SAGE 伎 螳企
煙蟲 蟯

More Related Content

What's hot (20)

DDD 蟲蠍一 (蟇一 Final 覯)
DDD 蟲蠍一 (蟇一 Final 覯)
beom kyun choi
Ksug2015 jpa5 梶梶求釈jpa
Ksug2015 jpa5 梶梶求釈jpa
Younghan Kim
Hibernate start (企れ危 蠍)
Hibernate start (企れ危 蠍)
visual khh
Spring data jpa
Spring data jpa
Taesin Um
Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇
Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇
Javajigi Jaesung
[162] jpa メ = 求 メ= 求
[162] jpa メ = 求 メ= 求
NAVER D2
MyBatis JPA襦
MyBatis JPA襦
Dongmin Shin
ORM 蟆曙一 り, 螳覦 螻殊
ORM 蟆曙一 り, 螳覦 螻殊
Javajigi Jaesung
Jquery javascript_ed10
Jquery javascript_ed10
hungrok
[ろれ雑ろ]MyBatis Basic
[ろれ雑ろ]MyBatis Basic
Ji-Woong Choi
覦 PPT
覦 PPT
JinKyoungHeo
Jpa 貎朱Μ 襭
Jpa 貎朱Μ 襭
Hyosang Hong
Java script 螳襭_ed13
Java script 螳襭_ed13
hungrok
覃 譯朱 り - 6 覃 螳豌伎 覈譯手鍵
覃 譯朱 り - 6 覃 螳豌伎 覈譯手鍵
JangHyuk You
DDD 蠏瑚 覘 (螳 谿襾麹ク)
DDD 蠏瑚 覘 (螳 谿襾麹ク)
覈 螻
Java advancd ed10
Java advancd ed10
hungrok
9 object class
9 object class
MyBatis 螳 Java+MyBatis+MySQL
MyBatis 螳 Java+MyBatis+MySQL
4-3. jquery
4-3. jquery
JinKyoungHeo
Web server page_ed10
Web server page_ed10
hungrok
DDD 蟲蠍一 (蟇一 Final 覯)
DDD 蟲蠍一 (蟇一 Final 覯)
beom kyun choi
Ksug2015 jpa5 梶梶求釈jpa
Ksug2015 jpa5 梶梶求釈jpa
Younghan Kim
Hibernate start (企れ危 蠍)
Hibernate start (企れ危 蠍)
visual khh
Spring data jpa
Spring data jpa
Taesin Um
Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇
Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇
Javajigi Jaesung
[162] jpa メ = 求 メ= 求
[162] jpa メ = 求 メ= 求
NAVER D2
ORM 蟆曙一 り, 螳覦 螻殊
ORM 蟆曙一 り, 螳覦 螻殊
Javajigi Jaesung
Jquery javascript_ed10
Jquery javascript_ed10
hungrok
[ろれ雑ろ]MyBatis Basic
[ろれ雑ろ]MyBatis Basic
Ji-Woong Choi
Jpa 貎朱Μ 襭
Jpa 貎朱Μ 襭
Hyosang Hong
Java script 螳襭_ed13
Java script 螳襭_ed13
hungrok
覃 譯朱 り - 6 覃 螳豌伎 覈譯手鍵
覃 譯朱 り - 6 覃 螳豌伎 覈譯手鍵
JangHyuk You
DDD 蠏瑚 覘 (螳 谿襾麹ク)
DDD 蠏瑚 覘 (螳 谿襾麹ク)
覈 螻
Java advancd ed10
Java advancd ed10
hungrok
9 object class
9 object class
MyBatis 螳 Java+MyBatis+MySQL
MyBatis 螳 Java+MyBatis+MySQL
Web server page_ed10
Web server page_ed10
hungrok

Viewers also liked (20)

[螳螳] 襦企 螳覦 覓 貂 4蠍
[螳螳] 襦企 螳覦 覓 貂 4蠍
FAST CAMPUS
煙蟲 SAGE 伎 螳企
煙蟲 SAGE 伎 螳企
煙蟲 蟯
Binding business data to vaadin components
Binding business data to vaadin components
Peter Lehto
Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3
plusperson
Hello+gentle flow (1)
Hello+gentle flow (1)
Kwon jung hyun
覦 8 ろ碁 API
覦 8 ろ碁 API
NAVER Corp
螳覦貉朱一 企れ危 覦襭 豕覯蠏
螳覦貉朱一 企れ危 覦襭 豕覯蠏
beom kyun choi
JPA 襦蠏碁覦 (1)
JPA 襦蠏碁覦 (1)
Bryan Choi
螳 Ip 蟲 伎手鍵
螳 Ip 蟲 伎手鍵
beom kyun choi
React 螳 覦 蟲覦覯 Demo
React 螳 覦 蟲覦覯 Demo
Daesung Kim
Team Janel
Team Janel
Taewon Hong
2 願鍵碁碁-no sql(覦壱)-d-hankim-2013-4-30
2 願鍵碁碁-no sql(覦壱)-d-hankim-2013-4-30
Donghan Kim
mongodb mysql CRUD 一一 焔 觜蟲
mongodb mysql CRUD 一一 焔 觜蟲
Woo Yeong Choi
願 る.
願 る.
Kris Jeong
Mongo DB 焔レ
Mongo DB 焔レ
Jin wook
覦8 ろ碁 API 螳
覦8 ろ碁 API 螳
beom kyun choi
Things Factory Introduction (蠍)
Things Factory Introduction (蠍)
Hatio, Lab.
Subject Guide in Chemistry(201502)
Subject Guide in Chemistry(201502)
Yulee Kwon
[2A6]web & health 2.0. =メ data science=?
[2A6]web & health 2.0. =メ data science=?
NAVER D2
[螳螳] 襦企 螳覦 覓 貂 4蠍
[螳螳] 襦企 螳覦 覓 貂 4蠍
FAST CAMPUS
煙蟲 SAGE 伎 螳企
煙蟲 SAGE 伎 螳企
煙蟲 蟯
Binding business data to vaadin components
Binding business data to vaadin components
Peter Lehto
Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3
plusperson
Hello+gentle flow (1)
Hello+gentle flow (1)
Kwon jung hyun
覦 8 ろ碁 API
覦 8 ろ碁 API
NAVER Corp
螳覦貉朱一 企れ危 覦襭 豕覯蠏
螳覦貉朱一 企れ危 覦襭 豕覯蠏
beom kyun choi
JPA 襦蠏碁覦 (1)
JPA 襦蠏碁覦 (1)
Bryan Choi
螳 Ip 蟲 伎手鍵
螳 Ip 蟲 伎手鍵
beom kyun choi
React 螳 覦 蟲覦覯 Demo
React 螳 覦 蟲覦覯 Demo
Daesung Kim
2 願鍵碁碁-no sql(覦壱)-d-hankim-2013-4-30
2 願鍵碁碁-no sql(覦壱)-d-hankim-2013-4-30
Donghan Kim
mongodb mysql CRUD 一一 焔 觜蟲
mongodb mysql CRUD 一一 焔 觜蟲
Woo Yeong Choi
Mongo DB 焔レ
Mongo DB 焔レ
Jin wook
覦8 ろ碁 API 螳
覦8 ろ碁 API 螳
beom kyun choi
Things Factory Introduction (蠍)
Things Factory Introduction (蠍)
Hatio, Lab.
Subject Guide in Chemistry(201502)
Subject Guide in Chemistry(201502)
Yulee Kwon
[2A6]web & health 2.0. =メ data science=?
[2A6]web & health 2.0. =メ data science=?
NAVER D2
Ad

Similar to Java JPA (20)

Jpa 貎朱Μ 襭
Jpa 貎朱Μ 襭
Hyosang Hong
[2018] MyBatis JPA襦
[2018] MyBatis JPA襦
NHN FORWARD
2007 8 JCO 貉朱一 POJO 襦蠏碁覦 覦 襭
2007 8 JCO 貉朱一 POJO 襦蠏碁覦 覦 襭
beom kyun choi
危 ろ磯 Orm梶 メメ ≡梶 ≡求釈=
危 ろ磯 Orm梶 メメ ≡梶 ≡求釈=
Sunghyun Roh
[ろれ雑ろ]Spring 3.1 Core
[ろれ雑ろ]Spring 3.1 Core
Ji-Woong Choi
= 衣 ≡= 求== (6譯殊姶 : 貉るる磯ゼ 襷れ企慨!)
= 衣 ≡= 求== (6譯殊姶 : 貉るる磯ゼ 襷れ企慨!)
DK Lee
[HaU] 蠍一 覃伎 譴觜 java
[HaU] 蠍一 覃伎 譴觜 java
Daejeon IT Developer Conference Struts2
Daejeon IT Developer Conference Struts2
plusperson
梶梶求 梶メ 1=
梶梶求 梶メ 1=
Seongchan Kang
Spring batch 蟷 TDD
Spring batch 蟷 TDD
Sanghyuk Jung
Sql 譴 貊 覦襭
Sql 譴 貊 覦襭
ssuser776e2d
Sql 譴 貊
Sql 譴 貊
ssuser776e2d
釈 ORM ≡= 2012 DAUM DEVON
釈 ORM ≡= 2012 DAUM DEVON
Younghan Kim
覃3 - 螳螳 覦 , 蠏碁Μ螻 螳 API覓語
覃3 - 螳螳 覦 , 蠏碁Μ螻 螳 API覓語
uEngine Solutions
GraphQL in Action - REST 企 螳伎 蟆
GraphQL in Action - REST 企 螳伎 蟆
Kivol
Facebook React襯 襷れ蟾?
Facebook React襯 襷れ蟾?
Kim Hunmin
Spring portfolio2
Spring portfolio2
ssuser25d7ff
語 螳覦 襦襷
語 螳覦 襦襷
譴 螻
Jpa 貎朱Μ 襭
Jpa 貎朱Μ 襭
Hyosang Hong
[2018] MyBatis JPA襦
[2018] MyBatis JPA襦
NHN FORWARD
2007 8 JCO 貉朱一 POJO 襦蠏碁覦 覦 襭
2007 8 JCO 貉朱一 POJO 襦蠏碁覦 覦 襭
beom kyun choi
危 ろ磯 Orm梶 メメ ≡梶 ≡求釈=
危 ろ磯 Orm梶 メメ ≡梶 ≡求釈=
Sunghyun Roh
[ろれ雑ろ]Spring 3.1 Core
[ろれ雑ろ]Spring 3.1 Core
Ji-Woong Choi
= 衣 ≡= 求== (6譯殊姶 : 貉るる磯ゼ 襷れ企慨!)
= 衣 ≡= 求== (6譯殊姶 : 貉るる磯ゼ 襷れ企慨!)
DK Lee
[HaU] 蠍一 覃伎 譴觜 java
[HaU] 蠍一 覃伎 譴觜 java
Daejeon IT Developer Conference Struts2
Daejeon IT Developer Conference Struts2
plusperson
梶梶求 梶メ 1=
梶梶求 梶メ 1=
Seongchan Kang
Spring batch 蟷 TDD
Spring batch 蟷 TDD
Sanghyuk Jung
Sql 譴 貊 覦襭
Sql 譴 貊 覦襭
ssuser776e2d
釈 ORM ≡= 2012 DAUM DEVON
釈 ORM ≡= 2012 DAUM DEVON
Younghan Kim
覃3 - 螳螳 覦 , 蠏碁Μ螻 螳 API覓語
覃3 - 螳螳 覦 , 蠏碁Μ螻 螳 API覓語
uEngine Solutions
GraphQL in Action - REST 企 螳伎 蟆
GraphQL in Action - REST 企 螳伎 蟆
Kivol
Facebook React襯 襷れ蟾?
Facebook React襯 襷れ蟾?
Kim Hunmin
Spring portfolio2
Spring portfolio2
ssuser25d7ff
語 螳覦 襦襷
語 螳覦 襦襷
譴 螻
Ad

Java JPA