SlideShare a Scribd company logo
Spring Data JPA
+ Hibernate
+ QueryDSL
ORM ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ
์‰ฌ์šด ๋ฐฉ๋ฒ•์„ ์ œ๊ณต
์ฐธ๊ณ :
์ขŒ์ถฉ์šฐ๋Œ ORM ๊ฐœ๋ฐœ๊ธฐ | Devon 2012
http://www.slideshare.net/daumdna/devon
-2012-b4-orm
2012๋…„ 8์›” ๊ตญ๋‚ด ๊ตฌ๊ธ€๊ฒ€์ƒ‰
2012๋…„ 8์›” ์ „์„ธ๊ณ„ ๊ตฌ๊ธ€๊ฒ€์ƒ‰
Spring Data
๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š”๋ฐ ํ•„์š”ํ•œ,
๊ธฐ๋ณธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•จ.
๊ตฌํ˜„์ฒด๋„ ์ œ๊ณต
Spring Data JPA, MongoDB,
REDIS, SOLR, ElasticSerch ๋“ฑ
JPA
์ž๋ฐ”์—์„œ ์ œ์ •ํ•œ,
ORM ๊ด€๋ จ ํ‘œ์ค€ ์ŠคํŽ™
๊ตฌํ˜„์ฒด๋กœ๋Š”
Hibernate, EclipseLINK ๋“ฑ
JPA ์žฅ์ 
- ์ฟผ๋ฆฌ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์œผ๋‹ˆ, DB ๋ฒค๋”์— ์ข…์†
์ ์ด์ง€ ์•Š๋‹ค.
- ๋‹จ์ˆœ ํ…Œ์ด๋ธ” ๋งคํ•‘ ์ •๋„๋ผ๋ฉด, ์‰ฝ๊ฒŒ ๊ตฌํ˜„
๊ฐ€๋Šฅ
- ์ˆœ์ˆ˜ํ•œ ๋ชจ๋ธ ๊ฐ์ฒด๋ฅผ ์ง€ํ–ฅํ•˜๋Š”
Persistence ์ฝ”๋”ฉ ํŒจํ„ด์„ ๋”ฐ๋ผ๊ฐˆ ์ˆ˜ ์žˆ
๋‹ค.
JPA ๋‹จ์ 
- 10ms ํŠœ๋‹์ด ์ค‘์š”ํ•œ ์„œ๋น„์Šค
- N+1 ์„ฑ๋Šฅ ๋ฌธ์ œ. ์ฟผ๋ฆฌ๊ฐ€ 100๊ฐœ๊ฐ€ ๋™์‹œ์—
๋‚ ์•„๊ฐ„๋‹ค.
- ์ฟผ๋ฆฌ๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•˜๊ณ , ์ฝ”๋”ฉํ•˜๋ฉด ์–ด๋ ต๋‹ค.
ํŠนํžˆ JOIN
์ผ๋ฐ˜์ ์ธ MVC-DAO ํŒจํ„ด
SERVICE
DAO
=Interface=
DAOImpl
=Implements=
Spring DATA-JPA DAO ํŒจํ„ด
SERVICE
DAO
=Interface=
DAOImpl
=Implements=
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
* TABLE โ€“ CLASS ๋งคํ•‘
TV_SECTION
TABLE
TvSection
Entity Class
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
* TABLE โ€“ CLASS ๋งคํ•‘
@Entity
@Table(name="tv_section")
public class TvSection {
@Id
@Column(name = "tv_program_id")
private long tvProgramId;
private int channel;
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
* DAO ์ธํ„ฐํŽ˜์ด์Šค ๋งŒ๋“ค๊ธฐ
@Repository
public interface TvSectionRepository
extends
PagingAndSortingRepository<TvSection,
Long> {
}
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
* ๊ฒฐ๊ณผ ๊ฐ€์ ธ์˜ค๊ธฐ
tvSectionRepository.findAll();
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
โ€ข ์›๋ฆฌ - 1
DAO ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์ •์˜ํ•˜๋ฉด
ํ•˜์œ„ ๊ตฌํ˜„์€ Spring Data JPA ๊ฐ€ ์•Œ์•„์„œ..
์ปจํ…์ŠคํŠธ๊ฐ€ ๋กœ๋”ฉ์ด ๋ ๋•Œ,
๋‚ด๊ฐ€ ์ •์˜ํ•œ ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ด๋‘ก๋‹ˆ๋‹ค.
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
โ€ข ์›๋ฆฌ - 2
๋Œ€๋ถ€๋ถ„์˜ CRUD ๊ฐ€ ํ•ด๊ฒฐ๋œ ๊ตฌํ˜„์ฒด๊ฐ€ ์กด์žฌํ•ฉ
๋‹ˆ๋‹ค.
PagingAndSortingRepository โ€“ ํŽ˜์ด์ง• ๊ธฐ๋Šฅ
CrudRepository โ€“ CRUD ๊ธฐ๋Šฅ
Repository - ๊ธฐ๋ณธ
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
โ€ข ํŽ˜์ด์ง• ๊ฒฐ๊ณผ ๊ฐ€์ ธ์˜ค๊ธฐ
Sort sort = new Sort(
new Order(Direction.DESC, "lastmodified")
);
Pageable pageable =
new PageRequest(0, 10, sort);
tvSectionRepository.findAll(pageable);
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ -1
@Repository
public interface TvSectionRepository extends
PagingAndSortingRepository<TvSection, Long> {
TvSection findByTvProgramId(long Id);
}
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€“ Method ์ด๋ฆ„์„ ์‚ฌ์šฉ
And findByLastnameAndFirstname
โ€ฆ where x.lastname = ?1 and x.firstname = ?2
Or findByLastnameOrFirstname
โ€ฆ where x.lastname = ?1 or x.firstname = ?2
Between findByStartDateBetween
โ€ฆ where x.startDate between 1? and ?2
Like findByFirstnameLike
โ€ฆ where x.firstname like ?1
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
โ€ข ํ…Œ์ด๋ธ”์„ ์—ฌ๋Ÿฌ ๊ฐœ ์กฐ์ธํ•˜๊ณ  ์ˆ˜๋งŽ์€ ์กฐ๊ฑด
๋ฌธ์ด ์žˆ๋Š” ๊ฒฝ์šฐ๋ผ๋ฉดโ€ฆ
findByLastnameAndFirstnameOrDateB
etweenChannelLikeLastnameNotInStar
tDate(String a, String b, Date c, โ€ฆ..)
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€“ Spec ์„ ์ง€์ •
- CriteriaBuilder ๋ฅผ ์ด์šฉํ•˜๊ธฐ
- QueryDSL์„ ์ด์šฉํ•˜๊ธฐ
tvSectionRepository.findAll(spec, pageable);
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€“ CriteriaBuilder
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Order> cq =
cb.createQuery(Order.class);
SetJoin<Order, Item> itemNode =
cq.from(Order.class).join(Order_.items);
cq.where( cb.equal(itemNode.get(Item_.id), 5 ) )
.distinct(true);
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€“ CriteriaBuilder
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Order> cq =
cb.createQuery(Order.class);
SetJoin<Order, Item> itemNode =
cq.from(Order.class).join(Order_.items);
cq.where( cb.equal(itemNode.get(Item_.id), 5 ) )
.distinct(true);
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€“ QueryDSL
QTvSection.tvSection.channel.eq(value);
QTvSection.tvSection.title.like(value)
JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„
โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€“ QueryDSL
BooleanBuilder builder = new BooleanBuilder();
builder.and( QTvSection.tvSection.channel.eq(value) );
builder.and( QTvSection.tvSection.titleKo.like(value) );
builder.and( QTvSection.tvSection.titleKo.isNotNull() );
repository.findAll(builder.getValue(), pageable);
์งˆ๋ฌธํ•ด์ฃผ์„ธ์š”โ€ฆ.ใ„ทใ„ท

More Related Content

What's hot

[162] jpaแ„‹แ…ช แ„†แ…ฉแ„ƒแ…ฅแ†ซ แ„Œแ…กแ„‡แ…ก แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…ฅแ„Œแ…กแ†ผ แ„€แ…ตแ„‰แ…ฎแ†ฏ
[162] jpaแ„‹แ…ช แ„†แ…ฉแ„ƒแ…ฅแ†ซ แ„Œแ…กแ„‡แ…ก แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…ฅแ„Œแ…กแ†ผ แ„€แ…ตแ„‰แ…ฎแ†ฏ[162] jpaแ„‹แ…ช แ„†แ…ฉแ„ƒแ…ฅแ†ซ แ„Œแ…กแ„‡แ…ก แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…ฅแ„Œแ…กแ†ผ แ„€แ…ตแ„‰แ…ฎแ†ฏ
[162] jpaแ„‹แ…ช แ„†แ…ฉแ„ƒแ…ฅแ†ซ แ„Œแ…กแ„‡แ…ก แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…ฅแ„Œแ…กแ†ผ แ„€แ…ตแ„‰แ…ฎแ†ฏ
NAVER D2
ย 
ORM์„ ํ™œ์šฉํ•  ๊ฒฝ์šฐ์˜ ์„ค๊ณ„, ๊ฐœ๋ฐœ ๊ณผ์ •
ORM์„ ํ™œ์šฉํ•  ๊ฒฝ์šฐ์˜ ์„ค๊ณ„, ๊ฐœ๋ฐœ ๊ณผ์ •ORM์„ ํ™œ์šฉํ•  ๊ฒฝ์šฐ์˜ ์„ค๊ณ„, ๊ฐœ๋ฐœ ๊ณผ์ •
ORM์„ ํ™œ์šฉํ•  ๊ฒฝ์šฐ์˜ ์„ค๊ณ„, ๊ฐœ๋ฐœ ๊ณผ์ •
Javajigi Jaesung
ย 
Scala, Spring-Boot, JPA์˜ ๋ถˆํŽธํ•˜๋ฉด์„œ๋„ ์ฆ๊ฑฐ์šด ๋™๊ฑฐ
Scala, Spring-Boot, JPA์˜ ๋ถˆํŽธํ•˜๋ฉด์„œ๋„ ์ฆ๊ฑฐ์šด ๋™๊ฑฐScala, Spring-Boot, JPA์˜ ๋ถˆํŽธํ•˜๋ฉด์„œ๋„ ์ฆ๊ฑฐ์šด ๋™๊ฑฐ
Scala, Spring-Boot, JPA์˜ ๋ถˆํŽธํ•˜๋ฉด์„œ๋„ ์ฆ๊ฑฐ์šด ๋™๊ฑฐ
Javajigi Jaesung
ย 
Jpa แ„Œแ…กแ†ฏ (แ„’แ…กแ„‚แ…ณแ†ซ แ„Žแ…ฅแ†จ) แ„’แ…กแ„€แ…ต
Jpa แ„Œแ…กแ†ฏ (แ„’แ…กแ„‚แ…ณแ†ซ แ„Žแ…ฅแ†จ) แ„’แ…กแ„€แ…ตJpa แ„Œแ…กแ†ฏ (แ„’แ…กแ„‚แ…ณแ†ซ แ„Žแ…ฅแ†จ) แ„’แ…กแ„€แ…ต
Jpa แ„Œแ…กแ†ฏ (แ„’แ…กแ„‚แ…ณแ†ซ แ„Žแ…ฅแ†จ) แ„’แ…กแ„€แ…ต
๊ฒฝ์› ์ด
ย 
์ขŒ์ถฉ์šฐ๋Œ ORM ๊ฐœ๋ฐœ๊ธฐ | Devon 2012
์ขŒ์ถฉ์šฐ๋Œ ORM ๊ฐœ๋ฐœ๊ธฐ | Devon 2012์ขŒ์ถฉ์šฐ๋Œ ORM ๊ฐœ๋ฐœ๊ธฐ | Devon 2012
์ขŒ์ถฉ์šฐ๋Œ ORM ๊ฐœ๋ฐœ๊ธฐ | Devon 2012Daum DNA
ย 
Ksug2015 - JPA3, JPA แ„‚แ…ขแ„‡แ…ฎแ„€แ…ฎแ„Œแ…ฉ
Ksug2015 - JPA3, JPA แ„‚แ…ขแ„‡แ…ฎแ„€แ…ฎแ„Œแ…ฉKsug2015 - JPA3, JPA แ„‚แ…ขแ„‡แ…ฎแ„€แ…ฎแ„Œแ…ฉ
Ksug2015 - JPA3, JPA แ„‚แ…ขแ„‡แ…ฎแ„€แ…ฎแ„Œแ…ฉ
Younghan Kim
ย 
์ž๋ฐ”์•ผ ๋†€์ž PPT
์ž๋ฐ”์•ผ ๋†€์ž PPT์ž๋ฐ”์•ผ ๋†€์ž PPT
์ž๋ฐ”์•ผ ๋†€์ž PPT
JinKyoungHeo
ย 
MyBatis์—์„œ JPA๋กœ
MyBatis์—์„œ JPA๋กœMyBatis์—์„œ JPA๋กœ
MyBatis์—์„œ JPA๋กœ
Dongmin Shin
ย 
DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)
DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)
DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)
beom kyun choi
ย 
์—˜๋ผ์Šคํ‹ฑ ์„œ์น˜ ์„ธ๋ฏธ๋‚˜
์—˜๋ผ์Šคํ‹ฑ ์„œ์น˜ ์„ธ๋ฏธ๋‚˜์—˜๋ผ์Šคํ‹ฑ ์„œ์น˜ ์„ธ๋ฏธ๋‚˜
์—˜๋ผ์Šคํ‹ฑ ์„œ์น˜ ์„ธ๋ฏธ๋‚˜
์ข…ํ˜„ ๊น€
ย 
๊ฒ€์ƒ‰ ์„œ๋น„์Šค ๊ฐ„๋žต ๊ต์œก
๊ฒ€์ƒ‰ ์„œ๋น„์Šค ๊ฐ„๋žต ๊ต์œก ๊ฒ€์ƒ‰ ์„œ๋น„์Šค ๊ฐ„๋žต ๊ต์œก
๊ฒ€์ƒ‰ ์„œ๋น„์Šค ๊ฐ„๋žต ๊ต์œก
Rjs Ryu
ย 
3-1. css
3-1. css3-1. css
3-1. css
JinKyoungHeo
ย 
์ž๋ฐ”๋ชจ๋ธ ํด๋ž˜์Šค์— ๋‚ ๊ฐœ๋ฅผ๋‹ฌ์ž_๋กฌ๋ณต(Lombok)
์ž๋ฐ”๋ชจ๋ธ ํด๋ž˜์Šค์— ๋‚ ๊ฐœ๋ฅผ๋‹ฌ์ž_๋กฌ๋ณต(Lombok)์ž๋ฐ”๋ชจ๋ธ ํด๋ž˜์Šค์— ๋‚ ๊ฐœ๋ฅผ๋‹ฌ์ž_๋กฌ๋ณต(Lombok)
์ž๋ฐ”๋ชจ๋ธ ํด๋ž˜์Šค์— ๋‚ ๊ฐœ๋ฅผ๋‹ฌ์ž_๋กฌ๋ณต(Lombok)
ํƒ‘ํฌ๋ฆฌ์—๋“€(๊ตฌ๋กœ๋””์ง€ํ„ธ๋‹จ์ง€์—ญ3๋ฒˆ์ถœ๊ตฌ 2๋ถ„๊ฑฐ๋ฆฌ)
ย 
[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
NAVER D2
ย 
4-1. javascript
4-1. javascript4-1. javascript
4-1. javascript
JinKyoungHeo
ย 
SLiPP ์„œ๋น„์Šค๋ฅผ Java์—์„œ Scala๋กœ ์ „ํ™˜ํ•˜๋ฉด์„œ ๊ฒฝํ—˜๋‹ด
SLiPP ์„œ๋น„์Šค๋ฅผ Java์—์„œ Scala๋กœ ์ „ํ™˜ํ•˜๋ฉด์„œ ๊ฒฝํ—˜๋‹ดSLiPP ์„œ๋น„์Šค๋ฅผ Java์—์„œ Scala๋กœ ์ „ํ™˜ํ•˜๋ฉด์„œ ๊ฒฝํ—˜๋‹ด
SLiPP ์„œ๋น„์Šค๋ฅผ Java์—์„œ Scala๋กœ ์ „ํ™˜ํ•˜๋ฉด์„œ ๊ฒฝํ—˜๋‹ด
Javajigi Jaesung
ย 
์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค โ˜† ๋ฌด.๋ฃŒ ๊ฐ•์˜์ž๋ฃŒ ์ œ๊ณต ไธญ
์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค โ˜† ๋ฌด.๋ฃŒ ๊ฐ•์˜์ž๋ฃŒ ์ œ๊ณต ไธญ์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค โ˜† ๋ฌด.๋ฃŒ ๊ฐ•์˜์ž๋ฃŒ ์ œ๊ณต ไธญ
์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค โ˜† ๋ฌด.๋ฃŒ ๊ฐ•์˜์ž๋ฃŒ ์ œ๊ณต ไธญ
ํƒ‘ํฌ๋ฆฌ์—๋“€(๊ตฌ๋กœ๋””์ง€ํ„ธ๋‹จ์ง€์—ญ3๋ฒˆ์ถœ๊ตฌ 2๋ถ„๊ฑฐ๋ฆฌ)
ย 
[ ํ•˜์ฝ”์‚ฌ์„ธ๋ฏธ๋‚˜] ์˜์™ธ๋กœ ์‰ฌ์šด D3 ๊ทธ๋ž˜ํ”„ ํผ๋ธ”๋ฆฌ์‹ฑ
[ ํ•˜์ฝ”์‚ฌ์„ธ๋ฏธ๋‚˜] ์˜์™ธ๋กœ ์‰ฌ์šด D3 ๊ทธ๋ž˜ํ”„ ํผ๋ธ”๋ฆฌ์‹ฑ[ ํ•˜์ฝ”์‚ฌ์„ธ๋ฏธ๋‚˜] ์˜์™ธ๋กœ ์‰ฌ์šด D3 ๊ทธ๋ž˜ํ”„ ํผ๋ธ”๋ฆฌ์‹ฑ
[ ํ•˜์ฝ”์‚ฌ์„ธ๋ฏธ๋‚˜] ์˜์™ธ๋กœ ์‰ฌ์šด D3 ๊ทธ๋ž˜ํ”„ ํผ๋ธ”๋ฆฌ์‹ฑ
์ •์„ ์–‘
ย 
Jquery javascript_ed10
Jquery javascript_ed10Jquery javascript_ed10
Jquery javascript_ed10
hungrok
ย 
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]MyBatis Basic
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]MyBatis Basic[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]MyBatis Basic
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]MyBatis Basic
Ji-Woong Choi
ย 

What's hot (20)

[162] jpaแ„‹แ…ช แ„†แ…ฉแ„ƒแ…ฅแ†ซ แ„Œแ…กแ„‡แ…ก แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…ฅแ„Œแ…กแ†ผ แ„€แ…ตแ„‰แ…ฎแ†ฏ
[162] jpaแ„‹แ…ช แ„†แ…ฉแ„ƒแ…ฅแ†ซ แ„Œแ…กแ„‡แ…ก แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…ฅแ„Œแ…กแ†ผ แ„€แ…ตแ„‰แ…ฎแ†ฏ[162] jpaแ„‹แ…ช แ„†แ…ฉแ„ƒแ…ฅแ†ซ แ„Œแ…กแ„‡แ…ก แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…ฅแ„Œแ…กแ†ผ แ„€แ…ตแ„‰แ…ฎแ†ฏ
[162] jpaแ„‹แ…ช แ„†แ…ฉแ„ƒแ…ฅแ†ซ แ„Œแ…กแ„‡แ…ก แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…ฅแ„Œแ…กแ†ผ แ„€แ…ตแ„‰แ…ฎแ†ฏ
ย 
ORM์„ ํ™œ์šฉํ•  ๊ฒฝ์šฐ์˜ ์„ค๊ณ„, ๊ฐœ๋ฐœ ๊ณผ์ •
ORM์„ ํ™œ์šฉํ•  ๊ฒฝ์šฐ์˜ ์„ค๊ณ„, ๊ฐœ๋ฐœ ๊ณผ์ •ORM์„ ํ™œ์šฉํ•  ๊ฒฝ์šฐ์˜ ์„ค๊ณ„, ๊ฐœ๋ฐœ ๊ณผ์ •
ORM์„ ํ™œ์šฉํ•  ๊ฒฝ์šฐ์˜ ์„ค๊ณ„, ๊ฐœ๋ฐœ ๊ณผ์ •
ย 
Scala, Spring-Boot, JPA์˜ ๋ถˆํŽธํ•˜๋ฉด์„œ๋„ ์ฆ๊ฑฐ์šด ๋™๊ฑฐ
Scala, Spring-Boot, JPA์˜ ๋ถˆํŽธํ•˜๋ฉด์„œ๋„ ์ฆ๊ฑฐ์šด ๋™๊ฑฐScala, Spring-Boot, JPA์˜ ๋ถˆํŽธํ•˜๋ฉด์„œ๋„ ์ฆ๊ฑฐ์šด ๋™๊ฑฐ
Scala, Spring-Boot, JPA์˜ ๋ถˆํŽธํ•˜๋ฉด์„œ๋„ ์ฆ๊ฑฐ์šด ๋™๊ฑฐ
ย 
Jpa แ„Œแ…กแ†ฏ (แ„’แ…กแ„‚แ…ณแ†ซ แ„Žแ…ฅแ†จ) แ„’แ…กแ„€แ…ต
Jpa แ„Œแ…กแ†ฏ (แ„’แ…กแ„‚แ…ณแ†ซ แ„Žแ…ฅแ†จ) แ„’แ…กแ„€แ…ตJpa แ„Œแ…กแ†ฏ (แ„’แ…กแ„‚แ…ณแ†ซ แ„Žแ…ฅแ†จ) แ„’แ…กแ„€แ…ต
Jpa แ„Œแ…กแ†ฏ (แ„’แ…กแ„‚แ…ณแ†ซ แ„Žแ…ฅแ†จ) แ„’แ…กแ„€แ…ต
ย 
์ขŒ์ถฉ์šฐ๋Œ ORM ๊ฐœ๋ฐœ๊ธฐ | Devon 2012
์ขŒ์ถฉ์šฐ๋Œ ORM ๊ฐœ๋ฐœ๊ธฐ | Devon 2012์ขŒ์ถฉ์šฐ๋Œ ORM ๊ฐœ๋ฐœ๊ธฐ | Devon 2012
์ขŒ์ถฉ์šฐ๋Œ ORM ๊ฐœ๋ฐœ๊ธฐ | Devon 2012
ย 
Ksug2015 - JPA3, JPA แ„‚แ…ขแ„‡แ…ฎแ„€แ…ฎแ„Œแ…ฉ
Ksug2015 - JPA3, JPA แ„‚แ…ขแ„‡แ…ฎแ„€แ…ฎแ„Œแ…ฉKsug2015 - JPA3, JPA แ„‚แ…ขแ„‡แ…ฎแ„€แ…ฎแ„Œแ…ฉ
Ksug2015 - JPA3, JPA แ„‚แ…ขแ„‡แ…ฎแ„€แ…ฎแ„Œแ…ฉ
ย 
์ž๋ฐ”์•ผ ๋†€์ž PPT
์ž๋ฐ”์•ผ ๋†€์ž PPT์ž๋ฐ”์•ผ ๋†€์ž PPT
์ž๋ฐ”์•ผ ๋†€์ž PPT
ย 
MyBatis์—์„œ JPA๋กœ
MyBatis์—์„œ JPA๋กœMyBatis์—์„œ JPA๋กœ
MyBatis์—์„œ JPA๋กœ
ย 
DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)
DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)
DDD ๊ตฌํ˜„๊ธฐ์ดˆ (๊ฑฐ์˜ Final ๋ฒ„์ „)
ย 
์—˜๋ผ์Šคํ‹ฑ ์„œ์น˜ ์„ธ๋ฏธ๋‚˜
์—˜๋ผ์Šคํ‹ฑ ์„œ์น˜ ์„ธ๋ฏธ๋‚˜์—˜๋ผ์Šคํ‹ฑ ์„œ์น˜ ์„ธ๋ฏธ๋‚˜
์—˜๋ผ์Šคํ‹ฑ ์„œ์น˜ ์„ธ๋ฏธ๋‚˜
ย 
๊ฒ€์ƒ‰ ์„œ๋น„์Šค ๊ฐ„๋žต ๊ต์œก
๊ฒ€์ƒ‰ ์„œ๋น„์Šค ๊ฐ„๋žต ๊ต์œก ๊ฒ€์ƒ‰ ์„œ๋น„์Šค ๊ฐ„๋žต ๊ต์œก
๊ฒ€์ƒ‰ ์„œ๋น„์Šค ๊ฐ„๋žต ๊ต์œก
ย 
3-1. css
3-1. css3-1. css
3-1. css
ย 
์ž๋ฐ”๋ชจ๋ธ ํด๋ž˜์Šค์— ๋‚ ๊ฐœ๋ฅผ๋‹ฌ์ž_๋กฌ๋ณต(Lombok)
์ž๋ฐ”๋ชจ๋ธ ํด๋ž˜์Šค์— ๋‚ ๊ฐœ๋ฅผ๋‹ฌ์ž_๋กฌ๋ณต(Lombok)์ž๋ฐ”๋ชจ๋ธ ํด๋ž˜์Šค์— ๋‚ ๊ฐœ๋ฅผ๋‹ฌ์ž_๋กฌ๋ณต(Lombok)
์ž๋ฐ”๋ชจ๋ธ ํด๋ž˜์Šค์— ๋‚ ๊ฐœ๋ฅผ๋‹ฌ์ž_๋กฌ๋ณต(Lombok)
ย 
[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
[D2 campus seminar]แ„‰แ…ณแ„แ…กแ†ฏแ„…แ…กแ„…แ…ณแ†ฏ แ„แ…ฉแ†ผแ„’แ…กแ†ซ แ„ƒแ…กแ„‹แ…ฃแ†ผแ„’แ…กแ†ซ แ„‹แ…ฅแ†ซแ„‹แ…ฅแ„‹แ…ด แ„‘แ…ขแ„…แ…ฅแ„ƒแ…กแ„‹แ…ตแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
ย 
4-1. javascript
4-1. javascript4-1. javascript
4-1. javascript
ย 
SLiPP ์„œ๋น„์Šค๋ฅผ Java์—์„œ Scala๋กœ ์ „ํ™˜ํ•˜๋ฉด์„œ ๊ฒฝํ—˜๋‹ด
SLiPP ์„œ๋น„์Šค๋ฅผ Java์—์„œ Scala๋กœ ์ „ํ™˜ํ•˜๋ฉด์„œ ๊ฒฝํ—˜๋‹ดSLiPP ์„œ๋น„์Šค๋ฅผ Java์—์„œ Scala๋กœ ์ „ํ™˜ํ•˜๋ฉด์„œ ๊ฒฝํ—˜๋‹ด
SLiPP ์„œ๋น„์Šค๋ฅผ Java์—์„œ Scala๋กœ ์ „ํ™˜ํ•˜๋ฉด์„œ ๊ฒฝํ—˜๋‹ด
ย 
์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค โ˜† ๋ฌด.๋ฃŒ ๊ฐ•์˜์ž๋ฃŒ ์ œ๊ณต ไธญ
์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค โ˜† ๋ฌด.๋ฃŒ ๊ฐ•์˜์ž๋ฃŒ ์ œ๊ณต ไธญ์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค โ˜† ๋ฌด.๋ฃŒ ๊ฐ•์˜์ž๋ฃŒ ์ œ๊ณต ไธญ
์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค โ˜† ๋ฌด.๋ฃŒ ๊ฐ•์˜์ž๋ฃŒ ์ œ๊ณต ไธญ
ย 
[ ํ•˜์ฝ”์‚ฌ์„ธ๋ฏธ๋‚˜] ์˜์™ธ๋กœ ์‰ฌ์šด D3 ๊ทธ๋ž˜ํ”„ ํผ๋ธ”๋ฆฌ์‹ฑ
[ ํ•˜์ฝ”์‚ฌ์„ธ๋ฏธ๋‚˜] ์˜์™ธ๋กœ ์‰ฌ์šด D3 ๊ทธ๋ž˜ํ”„ ํผ๋ธ”๋ฆฌ์‹ฑ[ ํ•˜์ฝ”์‚ฌ์„ธ๋ฏธ๋‚˜] ์˜์™ธ๋กœ ์‰ฌ์šด D3 ๊ทธ๋ž˜ํ”„ ํผ๋ธ”๋ฆฌ์‹ฑ
[ ํ•˜์ฝ”์‚ฌ์„ธ๋ฏธ๋‚˜] ์˜์™ธ๋กœ ์‰ฌ์šด D3 ๊ทธ๋ž˜ํ”„ ํผ๋ธ”๋ฆฌ์‹ฑ
ย 
Jquery javascript_ed10
Jquery javascript_ed10Jquery javascript_ed10
Jquery javascript_ed10
ย 
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]MyBatis Basic
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]MyBatis Basic[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]MyBatis Basic
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]MyBatis Basic
ย 

Viewers also liked

แ„Œแ…กแ„‡แ…ก แ„‹แ…ฐแ†ธ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต (10์ฃผ์ฐจ : ใ…Œใ…—ใ…‡ ใ…Žใ… ใ„นใ…)โ€จ
แ„Œแ…กแ„‡แ…ก แ„‹แ…ฐแ†ธ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต (10์ฃผ์ฐจ : ใ…Œใ…—ใ…‡ ใ…Žใ… ใ„นใ…)โ€จแ„Œแ…กแ„‡แ…ก แ„‹แ…ฐแ†ธ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต (10์ฃผ์ฐจ : ใ…Œใ…—ใ…‡ ใ…Žใ… ใ„นใ…)โ€จ
แ„Œแ…กแ„‡แ…ก แ„‹แ…ฐแ†ธ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต (10์ฃผ์ฐจ : ใ…Œใ…—ใ…‡ ใ…Žใ… ใ„นใ…)โ€จ
DK Lee
ย 
spring data jpa ๊ฐ„๋‹จํ•œ ํŠœํ† ๋ฆฌ์–ผ
spring data jpa ๊ฐ„๋‹จํ•œ ํŠœํ† ๋ฆฌ์–ผspring data jpa ๊ฐ„๋‹จํ•œ ํŠœํ† ๋ฆฌ์–ผ
spring data jpa ๊ฐ„๋‹จํ•œ ํŠœํ† ๋ฆฌ์–ผ
๋ผํ•œ์‚ฌ ์•„
ย 
Hroi linked in
Hroi linked inHroi linked in
Hroi linked inapoorva0707
ย 
The amazing rocky mountains
The amazing rocky mountainsThe amazing rocky mountains
The amazing rocky mountains
aaron senoner (Atelier Wilfried Senoner)
ย 
If You Build It, They Will Come: Institutional implementation of Mahara
If You Build It, They Will Come: Institutional implementation of MaharaIf You Build It, They Will Come: Institutional implementation of Mahara
If You Build It, They Will Come: Institutional implementation of MaharaDaniel Clark
ย 
Greatest moments of soccer in guayaquil
Greatest moments of soccer in guayaquilGreatest moments of soccer in guayaquil
Greatest moments of soccer in guayaquilALEX CUESTA SALAZAR
ย 
Sbobet
SbobetSbobet
Sbobet
sbobet121
ย 
Towson University: COOP: Conduct of Classes During Campus Closings
Towson University: COOP: Conduct of Classes During Campus ClosingsTowson University: COOP: Conduct of Classes During Campus Closings
Towson University: COOP: Conduct of Classes During Campus ClosingsLindsey Landolfi
ย 
Before and after shots
Before and after shotsBefore and after shots
Before and after shotsCousticGloVic
ย 
Gender is refers to as a social aspects and opportunities associated with bei...
Gender is refers to as a social aspects and opportunities associated with bei...Gender is refers to as a social aspects and opportunities associated with bei...
Gender is refers to as a social aspects and opportunities associated with bei...Sharp Shooter
ย 
ๆ—ฅๆœฌ่กŒๆ”ฟๅญฆไผš็ฝๅฎณใจ็ง‘ๅญฆๆŠ€่ก“็ ”็ฉถ้ƒจไผš็™บ่กจ่ณ‡ๆ–™
ๆ—ฅๆœฌ่กŒๆ”ฟๅญฆไผš็ฝๅฎณใจ็ง‘ๅญฆๆŠ€่ก“็ ”็ฉถ้ƒจไผš็™บ่กจ่ณ‡ๆ–™ๆ—ฅๆœฌ่กŒๆ”ฟๅญฆไผš็ฝๅฎณใจ็ง‘ๅญฆๆŠ€่ก“็ ”็ฉถ้ƒจไผš็™บ่กจ่ณ‡ๆ–™
ๆ—ฅๆœฌ่กŒๆ”ฟๅญฆไผš็ฝๅฎณใจ็ง‘ๅญฆๆŠ€่ก“็ ”็ฉถ้ƒจไผš็™บ่กจ่ณ‡ๆ–™
Nobuyuki Shirakawa
ย 
Aggiungere l'emozione alla loyalty transazionale
Aggiungere l'emozione alla loyalty transazionaleAggiungere l'emozione alla loyalty transazionale
Aggiungere l'emozione alla loyalty transazionale
Osservatorio Fedeltร  Universitร  di Parma
ย 
Nihaya mujib putri (092111213)
Nihaya mujib putri (092111213)Nihaya mujib putri (092111213)
Nihaya mujib putri (092111213)nayaputri
ย 
Journey toward Learning Society: Possibilities and challenges of Viet Nam Li...
Journey toward Learning Society: Possibilities and challenges of Viet Nam Li...Journey toward Learning Society: Possibilities and challenges of Viet Nam Li...
Journey toward Learning Society: Possibilities and challenges of Viet Nam Li...
Zakir Hossain/ICS, Zurich
ย 
Current Landscape of CEO Long-Term Incentives
Current Landscape of CEO Long-Term IncentivesCurrent Landscape of CEO Long-Term Incentives
Current Landscape of CEO Long-Term Incentives
Steve Hall
ย 
Prezi
PreziPrezi
Introduction to Marketing for Managers
Introduction to Marketing for ManagersIntroduction to Marketing for Managers
Introduction to Marketing for Managers
Tony Ahn & Co.
ย 

Viewers also liked (18)

แ„Œแ…กแ„‡แ…ก แ„‹แ…ฐแ†ธ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต (10์ฃผ์ฐจ : ใ…Œใ…—ใ…‡ ใ…Žใ… ใ„นใ…)โ€จ
แ„Œแ…กแ„‡แ…ก แ„‹แ…ฐแ†ธ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต (10์ฃผ์ฐจ : ใ…Œใ…—ใ…‡ ใ…Žใ… ใ„นใ…)โ€จแ„Œแ…กแ„‡แ…ก แ„‹แ…ฐแ†ธ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต (10์ฃผ์ฐจ : ใ…Œใ…—ใ…‡ ใ…Žใ… ใ„นใ…)โ€จ
แ„Œแ…กแ„‡แ…ก แ„‹แ…ฐแ†ธ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต (10์ฃผ์ฐจ : ใ…Œใ…—ใ…‡ ใ…Žใ… ใ„นใ…)โ€จ
ย 
spring data jpa ๊ฐ„๋‹จํ•œ ํŠœํ† ๋ฆฌ์–ผ
spring data jpa ๊ฐ„๋‹จํ•œ ํŠœํ† ๋ฆฌ์–ผspring data jpa ๊ฐ„๋‹จํ•œ ํŠœํ† ๋ฆฌ์–ผ
spring data jpa ๊ฐ„๋‹จํ•œ ํŠœํ† ๋ฆฌ์–ผ
ย 
Hroi linked in
Hroi linked inHroi linked in
Hroi linked in
ย 
The amazing rocky mountains
The amazing rocky mountainsThe amazing rocky mountains
The amazing rocky mountains
ย 
If You Build It, They Will Come: Institutional implementation of Mahara
If You Build It, They Will Come: Institutional implementation of MaharaIf You Build It, They Will Come: Institutional implementation of Mahara
If You Build It, They Will Come: Institutional implementation of Mahara
ย 
Greatest moments of soccer in guayaquil
Greatest moments of soccer in guayaquilGreatest moments of soccer in guayaquil
Greatest moments of soccer in guayaquil
ย 
Sbobet
SbobetSbobet
Sbobet
ย 
Towson University: COOP: Conduct of Classes During Campus Closings
Towson University: COOP: Conduct of Classes During Campus ClosingsTowson University: COOP: Conduct of Classes During Campus Closings
Towson University: COOP: Conduct of Classes During Campus Closings
ย 
Before and after shots
Before and after shotsBefore and after shots
Before and after shots
ย 
Gender is refers to as a social aspects and opportunities associated with bei...
Gender is refers to as a social aspects and opportunities associated with bei...Gender is refers to as a social aspects and opportunities associated with bei...
Gender is refers to as a social aspects and opportunities associated with bei...
ย 
Karlene Hoo Outlines NSF Innovation Programs
Karlene Hoo Outlines NSF Innovation ProgramsKarlene Hoo Outlines NSF Innovation Programs
Karlene Hoo Outlines NSF Innovation Programs
ย 
ๆ—ฅๆœฌ่กŒๆ”ฟๅญฆไผš็ฝๅฎณใจ็ง‘ๅญฆๆŠ€่ก“็ ”็ฉถ้ƒจไผš็™บ่กจ่ณ‡ๆ–™
ๆ—ฅๆœฌ่กŒๆ”ฟๅญฆไผš็ฝๅฎณใจ็ง‘ๅญฆๆŠ€่ก“็ ”็ฉถ้ƒจไผš็™บ่กจ่ณ‡ๆ–™ๆ—ฅๆœฌ่กŒๆ”ฟๅญฆไผš็ฝๅฎณใจ็ง‘ๅญฆๆŠ€่ก“็ ”็ฉถ้ƒจไผš็™บ่กจ่ณ‡ๆ–™
ๆ—ฅๆœฌ่กŒๆ”ฟๅญฆไผš็ฝๅฎณใจ็ง‘ๅญฆๆŠ€่ก“็ ”็ฉถ้ƒจไผš็™บ่กจ่ณ‡ๆ–™
ย 
Aggiungere l'emozione alla loyalty transazionale
Aggiungere l'emozione alla loyalty transazionaleAggiungere l'emozione alla loyalty transazionale
Aggiungere l'emozione alla loyalty transazionale
ย 
Nihaya mujib putri (092111213)
Nihaya mujib putri (092111213)Nihaya mujib putri (092111213)
Nihaya mujib putri (092111213)
ย 
Journey toward Learning Society: Possibilities and challenges of Viet Nam Li...
Journey toward Learning Society: Possibilities and challenges of Viet Nam Li...Journey toward Learning Society: Possibilities and challenges of Viet Nam Li...
Journey toward Learning Society: Possibilities and challenges of Viet Nam Li...
ย 
Current Landscape of CEO Long-Term Incentives
Current Landscape of CEO Long-Term IncentivesCurrent Landscape of CEO Long-Term Incentives
Current Landscape of CEO Long-Term Incentives
ย 
Prezi
PreziPrezi
Prezi
ย 
Introduction to Marketing for Managers
Introduction to Marketing for ManagersIntroduction to Marketing for Managers
Introduction to Marketing for Managers
ย 

Similar to Spring data jpa

(IT์‹ค๋ฌด๊ต์œก/๊ตญ๋น„์ง€์›๊ต์œก/์ž๋ฐ”/์Šคํ”„๋ง๊ต์œก์ถ”์ฒœ)#15.์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค (Spring Framework, MyBatis)
(IT์‹ค๋ฌด๊ต์œก/๊ตญ๋น„์ง€์›๊ต์œก/์ž๋ฐ”/์Šคํ”„๋ง๊ต์œก์ถ”์ฒœ)#15.์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค (Spring Framework, MyBatis)(IT์‹ค๋ฌด๊ต์œก/๊ตญ๋น„์ง€์›๊ต์œก/์ž๋ฐ”/์Šคํ”„๋ง๊ต์œก์ถ”์ฒœ)#15.์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค (Spring Framework, MyBatis)
(IT์‹ค๋ฌด๊ต์œก/๊ตญ๋น„์ง€์›๊ต์œก/์ž๋ฐ”/์Šคํ”„๋ง๊ต์œก์ถ”์ฒœ)#15.์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค (Spring Framework, MyBatis)
ํƒ‘ํฌ๋ฆฌ์—๋“€(๊ตฌ๋กœ๋””์ง€ํ„ธ๋‹จ์ง€์—ญ3๋ฒˆ์ถœ๊ตฌ 2๋ถ„๊ฑฐ๋ฆฌ)
ย 
[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 3์ผ์ฐจ] ๋ฐ์ดํ„ฐ์—‘์„ธ์Šค๊ธฐ์ˆ 
[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 3์ผ์ฐจ] ๋ฐ์ดํ„ฐ์—‘์„ธ์Šค๊ธฐ์ˆ [์Šคํ”„๋ง ์Šคํ„ฐ๋”” 3์ผ์ฐจ] ๋ฐ์ดํ„ฐ์—‘์„ธ์Šค๊ธฐ์ˆ 
[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 3์ผ์ฐจ] ๋ฐ์ดํ„ฐ์—‘์„ธ์Šค๊ธฐ์ˆ 
AnselmKim
ย 
[JPAํ•™์›์ถ”์ฒœ]spring framework&jpaํ™œ์šฉํ•œํ”„๋กœ๊ทธ๋žจ๊ตฌํ˜„์žฌ์ง์žํ–ฅ์ƒ๊ณผ์ •_JPAํ•™์›/์Šคํ”„๋งํ•™์›/ITํ•™์›์ถ”์ฒœ/์žฌ์ง์ž๊ต์œก/๊ตญ๋น„์ง€์›/์žฌ...
[JPAํ•™์›์ถ”์ฒœ]spring framework&jpaํ™œ์šฉํ•œํ”„๋กœ๊ทธ๋žจ๊ตฌํ˜„์žฌ์ง์žํ–ฅ์ƒ๊ณผ์ •_JPAํ•™์›/์Šคํ”„๋งํ•™์›/ITํ•™์›์ถ”์ฒœ/์žฌ์ง์ž๊ต์œก/๊ตญ๋น„์ง€์›/์žฌ...[JPAํ•™์›์ถ”์ฒœ]spring framework&jpaํ™œ์šฉํ•œํ”„๋กœ๊ทธ๋žจ๊ตฌํ˜„์žฌ์ง์žํ–ฅ์ƒ๊ณผ์ •_JPAํ•™์›/์Šคํ”„๋งํ•™์›/ITํ•™์›์ถ”์ฒœ/์žฌ์ง์ž๊ต์œก/๊ตญ๋น„์ง€์›/์žฌ...
[JPAํ•™์›์ถ”์ฒœ]spring framework&jpaํ™œ์šฉํ•œํ”„๋กœ๊ทธ๋žจ๊ตฌํ˜„์žฌ์ง์žํ–ฅ์ƒ๊ณผ์ •_JPAํ•™์›/์Šคํ”„๋งํ•™์›/ITํ•™์›์ถ”์ฒœ/์žฌ์ง์ž๊ต์œก/๊ตญ๋น„์ง€์›/์žฌ...
ํƒ‘ํฌ๋ฆฌ์—๋“€(๊ตฌ๋กœ๋””์ง€ํ„ธ๋‹จ์ง€์—ญ3๋ฒˆ์ถœ๊ตฌ 2๋ถ„๊ฑฐ๋ฆฌ)
ย 
[246] foursquareแ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅแ„…แ…กแ„‹แ…ตแ„‘แ…ณแ„‰แ…กแ„‹แ…ตแ„แ…ณแ†ฏ แ„‰แ…ฅแ†ฏแ„’แ…งแ†ซแ„Œแ…ฎแ†ซ
[246] foursquareแ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅแ„…แ…กแ„‹แ…ตแ„‘แ…ณแ„‰แ…กแ„‹แ…ตแ„แ…ณแ†ฏ แ„‰แ…ฅแ†ฏแ„’แ…งแ†ซแ„Œแ…ฎแ†ซ[246] foursquareแ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅแ„…แ…กแ„‹แ…ตแ„‘แ…ณแ„‰แ…กแ„‹แ…ตแ„แ…ณแ†ฏ แ„‰แ…ฅแ†ฏแ„’แ…งแ†ซแ„Œแ…ฎแ†ซ
[246] foursquareแ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅแ„…แ…กแ„‹แ…ตแ„‘แ…ณแ„‰แ…กแ„‹แ…ตแ„แ…ณแ†ฏ แ„‰แ…ฅแ†ฏแ„’แ…งแ†ซแ„Œแ…ฎแ†ซ
NAVER D2
ย 
Mongodb and spatial
Mongodb and spatialMongodb and spatial
Mongodb and spatial
Jiyoon Kim
ย 
2007๋…„ ์ œ8ํšŒ JCO ์ปจํผ๋Ÿฐ์Šค POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ
2007๋…„ ์ œ8ํšŒ JCO ์ปจํผ๋Ÿฐ์Šค POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ2007๋…„ ์ œ8ํšŒ JCO ์ปจํผ๋Ÿฐ์Šค POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ
2007๋…„ ์ œ8ํšŒ JCO ์ปจํผ๋Ÿฐ์Šค POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ
beom kyun choi
ย 
Introduction to Apache Tajo
Introduction to Apache TajoIntroduction to Apache Tajo
Introduction to Apache Tajo
Gruter
ย 
Fundamentals of Oracle SQL
Fundamentals of Oracle SQLFundamentals of Oracle SQL
Fundamentals of Oracle SQL
JAEGEUN YU
ย 
Spring batch์™€ ํ•จ๊ป˜ ํ•˜๋Š” TDD
Spring batch์™€ ํ•จ๊ป˜ ํ•˜๋Š” TDDSpring batch์™€ ํ•จ๊ป˜ ํ•˜๋Š” TDD
Spring batch์™€ ํ•จ๊ป˜ ํ•˜๋Š” TDD
Sanghyuk Jung
ย 
แ„’แ…กแ„ƒแ…ฎแ†ธ แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„‹แ…ฃแ†จแ„‹แ…ตแ„Œแ…ตแ„†แ…กแ†ซ ๋งŒ๋ณ‘ํ†ต์น˜์•ฝ์€ ์•„๋‹ˆ๋‹ค
แ„’แ…กแ„ƒแ…ฎแ†ธ แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„‹แ…ฃแ†จแ„‹แ…ตแ„Œแ…ตแ„†แ…กแ†ซ ๋งŒ๋ณ‘ํ†ต์น˜์•ฝ์€ ์•„๋‹ˆ๋‹คแ„’แ…กแ„ƒแ…ฎแ†ธ แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„‹แ…ฃแ†จแ„‹แ…ตแ„Œแ…ตแ„†แ…กแ†ซ ๋งŒ๋ณ‘ํ†ต์น˜์•ฝ์€ ์•„๋‹ˆ๋‹ค
แ„’แ…กแ„ƒแ…ฎแ†ธ แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„‹แ…ฃแ†จแ„‹แ…ตแ„Œแ…ตแ„†แ…กแ†ซ ๋งŒ๋ณ‘ํ†ต์น˜์•ฝ์€ ์•„๋‹ˆ๋‹ค
๋ฏผ์ฒ  ์ •๋ฏผ์ฒ 
ย 
Java naming strategy (์ž๋ฐ” ๋ช…๋ช… ์ „๋žต)
Java naming strategy (์ž๋ฐ” ๋ช…๋ช… ์ „๋žต)Java naming strategy (์ž๋ฐ” ๋ช…๋ช… ์ „๋žต)
Java naming strategy (์ž๋ฐ” ๋ช…๋ช… ์ „๋žต)
Sunghyouk Bae
ย 
Big data analysis with R and Apache Tajo (in Korean)
Big data analysis with R and Apache Tajo (in Korean)Big data analysis with R and Apache Tajo (in Korean)
Big data analysis with R and Apache Tajo (in Korean)
Gruter
ย 
Sql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ
Sql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผSql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ
Sql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ
ssuser776e2d
ย 
Sql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ ๋ฐœํ‘œ์ž๋ฃŒ
Sql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ ๋ฐœํ‘œ์ž๋ฃŒSql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ ๋ฐœํ‘œ์ž๋ฃŒ
Sql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ ๋ฐœํ‘œ์ž๋ฃŒ
ssuser776e2d
ย 
์‹ค์ „ DataSnap!
์‹ค์ „ DataSnap!์‹ค์ „ DataSnap!
์‹ค์ „ DataSnap!
Devgear
ย 
MySQL_MariaDB-์„ฑ๋Šฅ๊ฐœ์„ -202201.pptx
MySQL_MariaDB-์„ฑ๋Šฅ๊ฐœ์„ -202201.pptxMySQL_MariaDB-์„ฑ๋Šฅ๊ฐœ์„ -202201.pptx
MySQL_MariaDB-์„ฑ๋Šฅ๊ฐœ์„ -202201.pptx
NeoClova
ย 
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒJpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Hyosang Hong
ย 
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒJpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Hyosang Hong
ย 
์•ˆ๋“œ๋กœ์ด๋“œ ๋นŒ๋“œ: ์„คํƒ•์—†๋Š” ์„ธ๊ณ„
์•ˆ๋“œ๋กœ์ด๋“œ ๋นŒ๋“œ: ์„คํƒ•์—†๋Š” ์„ธ๊ณ„์•ˆ๋“œ๋กœ์ด๋“œ ๋นŒ๋“œ: ์„คํƒ•์—†๋Š” ์„ธ๊ณ„
์•ˆ๋“œ๋กœ์ด๋“œ ๋นŒ๋“œ: ์„คํƒ•์—†๋Š” ์„ธ๊ณ„
Leonardo YongUk Kim
ย 
(Spring Data JPA)๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ๋ณด๊ธฐ_์˜ค๋ผํด, ์Šคํ”„๋ง๋ถ€ํŠธ,ํŽ˜์ด์ง€๋‚˜๋ˆ„๊ธฐ
(Spring Data JPA)๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ๋ณด๊ธฐ_์˜ค๋ผํด, ์Šคํ”„๋ง๋ถ€ํŠธ,ํŽ˜์ด์ง€๋‚˜๋ˆ„๊ธฐ(Spring Data JPA)๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ๋ณด๊ธฐ_์˜ค๋ผํด, ์Šคํ”„๋ง๋ถ€ํŠธ,ํŽ˜์ด์ง€๋‚˜๋ˆ„๊ธฐ
(Spring Data JPA)๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ๋ณด๊ธฐ_์˜ค๋ผํด, ์Šคํ”„๋ง๋ถ€ํŠธ,ํŽ˜์ด์ง€๋‚˜๋ˆ„๊ธฐ
ํƒ‘ํฌ๋ฆฌ์—๋“€(๊ตฌ๋กœ๋””์ง€ํ„ธ๋‹จ์ง€์—ญ3๋ฒˆ์ถœ๊ตฌ 2๋ถ„๊ฑฐ๋ฆฌ)
ย 

Similar to Spring data jpa (20)

(IT์‹ค๋ฌด๊ต์œก/๊ตญ๋น„์ง€์›๊ต์œก/์ž๋ฐ”/์Šคํ”„๋ง๊ต์œก์ถ”์ฒœ)#15.์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค (Spring Framework, MyBatis)
(IT์‹ค๋ฌด๊ต์œก/๊ตญ๋น„์ง€์›๊ต์œก/์ž๋ฐ”/์Šคํ”„๋ง๊ต์œก์ถ”์ฒœ)#15.์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค (Spring Framework, MyBatis)(IT์‹ค๋ฌด๊ต์œก/๊ตญ๋น„์ง€์›๊ต์œก/์ž๋ฐ”/์Šคํ”„๋ง๊ต์œก์ถ”์ฒœ)#15.์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค (Spring Framework, MyBatis)
(IT์‹ค๋ฌด๊ต์œก/๊ตญ๋น„์ง€์›๊ต์œก/์ž๋ฐ”/์Šคํ”„๋ง๊ต์œก์ถ”์ฒœ)#15.์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค (Spring Framework, MyBatis)
ย 
[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 3์ผ์ฐจ] ๋ฐ์ดํ„ฐ์—‘์„ธ์Šค๊ธฐ์ˆ 
[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 3์ผ์ฐจ] ๋ฐ์ดํ„ฐ์—‘์„ธ์Šค๊ธฐ์ˆ [์Šคํ”„๋ง ์Šคํ„ฐ๋”” 3์ผ์ฐจ] ๋ฐ์ดํ„ฐ์—‘์„ธ์Šค๊ธฐ์ˆ 
[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 3์ผ์ฐจ] ๋ฐ์ดํ„ฐ์—‘์„ธ์Šค๊ธฐ์ˆ 
ย 
[JPAํ•™์›์ถ”์ฒœ]spring framework&jpaํ™œ์šฉํ•œํ”„๋กœ๊ทธ๋žจ๊ตฌํ˜„์žฌ์ง์žํ–ฅ์ƒ๊ณผ์ •_JPAํ•™์›/์Šคํ”„๋งํ•™์›/ITํ•™์›์ถ”์ฒœ/์žฌ์ง์ž๊ต์œก/๊ตญ๋น„์ง€์›/์žฌ...
[JPAํ•™์›์ถ”์ฒœ]spring framework&jpaํ™œ์šฉํ•œํ”„๋กœ๊ทธ๋žจ๊ตฌํ˜„์žฌ์ง์žํ–ฅ์ƒ๊ณผ์ •_JPAํ•™์›/์Šคํ”„๋งํ•™์›/ITํ•™์›์ถ”์ฒœ/์žฌ์ง์ž๊ต์œก/๊ตญ๋น„์ง€์›/์žฌ...[JPAํ•™์›์ถ”์ฒœ]spring framework&jpaํ™œ์šฉํ•œํ”„๋กœ๊ทธ๋žจ๊ตฌํ˜„์žฌ์ง์žํ–ฅ์ƒ๊ณผ์ •_JPAํ•™์›/์Šคํ”„๋งํ•™์›/ITํ•™์›์ถ”์ฒœ/์žฌ์ง์ž๊ต์œก/๊ตญ๋น„์ง€์›/์žฌ...
[JPAํ•™์›์ถ”์ฒœ]spring framework&jpaํ™œ์šฉํ•œํ”„๋กœ๊ทธ๋žจ๊ตฌํ˜„์žฌ์ง์žํ–ฅ์ƒ๊ณผ์ •_JPAํ•™์›/์Šคํ”„๋งํ•™์›/ITํ•™์›์ถ”์ฒœ/์žฌ์ง์ž๊ต์œก/๊ตญ๋น„์ง€์›/์žฌ...
ย 
[246] foursquareแ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅแ„…แ…กแ„‹แ…ตแ„‘แ…ณแ„‰แ…กแ„‹แ…ตแ„แ…ณแ†ฏ แ„‰แ…ฅแ†ฏแ„’แ…งแ†ซแ„Œแ…ฎแ†ซ
[246] foursquareแ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅแ„…แ…กแ„‹แ…ตแ„‘แ…ณแ„‰แ…กแ„‹แ…ตแ„แ…ณแ†ฏ แ„‰แ…ฅแ†ฏแ„’แ…งแ†ซแ„Œแ…ฎแ†ซ[246] foursquareแ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅแ„…แ…กแ„‹แ…ตแ„‘แ…ณแ„‰แ…กแ„‹แ…ตแ„แ…ณแ†ฏ แ„‰แ…ฅแ†ฏแ„’แ…งแ†ซแ„Œแ…ฎแ†ซ
[246] foursquareแ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅแ„…แ…กแ„‹แ…ตแ„‘แ…ณแ„‰แ…กแ„‹แ…ตแ„แ…ณแ†ฏ แ„‰แ…ฅแ†ฏแ„’แ…งแ†ซแ„Œแ…ฎแ†ซ
ย 
Mongodb and spatial
Mongodb and spatialMongodb and spatial
Mongodb and spatial
ย 
2007๋…„ ์ œ8ํšŒ JCO ์ปจํผ๋Ÿฐ์Šค POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ
2007๋…„ ์ œ8ํšŒ JCO ์ปจํผ๋Ÿฐ์Šค POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ2007๋…„ ์ œ8ํšŒ JCO ์ปจํผ๋Ÿฐ์Šค POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ
2007๋…„ ์ œ8ํšŒ JCO ์ปจํผ๋Ÿฐ์Šค POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ
ย 
Introduction to Apache Tajo
Introduction to Apache TajoIntroduction to Apache Tajo
Introduction to Apache Tajo
ย 
Fundamentals of Oracle SQL
Fundamentals of Oracle SQLFundamentals of Oracle SQL
Fundamentals of Oracle SQL
ย 
Spring batch์™€ ํ•จ๊ป˜ ํ•˜๋Š” TDD
Spring batch์™€ ํ•จ๊ป˜ ํ•˜๋Š” TDDSpring batch์™€ ํ•จ๊ป˜ ํ•˜๋Š” TDD
Spring batch์™€ ํ•จ๊ป˜ ํ•˜๋Š” TDD
ย 
แ„’แ…กแ„ƒแ…ฎแ†ธ แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„‹แ…ฃแ†จแ„‹แ…ตแ„Œแ…ตแ„†แ…กแ†ซ ๋งŒ๋ณ‘ํ†ต์น˜์•ฝ์€ ์•„๋‹ˆ๋‹ค
แ„’แ…กแ„ƒแ…ฎแ†ธ แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„‹แ…ฃแ†จแ„‹แ…ตแ„Œแ…ตแ„†แ…กแ†ซ ๋งŒ๋ณ‘ํ†ต์น˜์•ฝ์€ ์•„๋‹ˆ๋‹คแ„’แ…กแ„ƒแ…ฎแ†ธ แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„‹แ…ฃแ†จแ„‹แ…ตแ„Œแ…ตแ„†แ…กแ†ซ ๋งŒ๋ณ‘ํ†ต์น˜์•ฝ์€ ์•„๋‹ˆ๋‹ค
แ„’แ…กแ„ƒแ…ฎแ†ธ แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„‹แ…ฃแ†จแ„‹แ…ตแ„Œแ…ตแ„†แ…กแ†ซ ๋งŒ๋ณ‘ํ†ต์น˜์•ฝ์€ ์•„๋‹ˆ๋‹ค
ย 
Java naming strategy (์ž๋ฐ” ๋ช…๋ช… ์ „๋žต)
Java naming strategy (์ž๋ฐ” ๋ช…๋ช… ์ „๋žต)Java naming strategy (์ž๋ฐ” ๋ช…๋ช… ์ „๋žต)
Java naming strategy (์ž๋ฐ” ๋ช…๋ช… ์ „๋žต)
ย 
Big data analysis with R and Apache Tajo (in Korean)
Big data analysis with R and Apache Tajo (in Korean)Big data analysis with R and Apache Tajo (in Korean)
Big data analysis with R and Apache Tajo (in Korean)
ย 
Sql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ
Sql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผSql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ
Sql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ
ย 
Sql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ ๋ฐœํ‘œ์ž๋ฃŒ
Sql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ ๋ฐœํ‘œ์ž๋ฃŒSql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ ๋ฐœํ‘œ์ž๋ฃŒ
Sql ์ค‘์‹ฌ ์ฝ”๋“œ ํƒˆํ”ผ ๋ฐœํ‘œ์ž๋ฃŒ
ย 
์‹ค์ „ DataSnap!
์‹ค์ „ DataSnap!์‹ค์ „ DataSnap!
์‹ค์ „ DataSnap!
ย 
MySQL_MariaDB-์„ฑ๋Šฅ๊ฐœ์„ -202201.pptx
MySQL_MariaDB-์„ฑ๋Šฅ๊ฐœ์„ -202201.pptxMySQL_MariaDB-์„ฑ๋Šฅ๊ฐœ์„ -202201.pptx
MySQL_MariaDB-์„ฑ๋Šฅ๊ฐœ์„ -202201.pptx
ย 
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒJpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
ย 
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒJpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
Jpa ์ฟผ๋ฆฌ ํฌํ•จ ์ž๋ฃŒ
ย 
์•ˆ๋“œ๋กœ์ด๋“œ ๋นŒ๋“œ: ์„คํƒ•์—†๋Š” ์„ธ๊ณ„
์•ˆ๋“œ๋กœ์ด๋“œ ๋นŒ๋“œ: ์„คํƒ•์—†๋Š” ์„ธ๊ณ„์•ˆ๋“œ๋กœ์ด๋“œ ๋นŒ๋“œ: ์„คํƒ•์—†๋Š” ์„ธ๊ณ„
์•ˆ๋“œ๋กœ์ด๋“œ ๋นŒ๋“œ: ์„คํƒ•์—†๋Š” ์„ธ๊ณ„
ย 
(Spring Data JPA)๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ๋ณด๊ธฐ_์˜ค๋ผํด, ์Šคํ”„๋ง๋ถ€ํŠธ,ํŽ˜์ด์ง€๋‚˜๋ˆ„๊ธฐ
(Spring Data JPA)๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ๋ณด๊ธฐ_์˜ค๋ผํด, ์Šคํ”„๋ง๋ถ€ํŠธ,ํŽ˜์ด์ง€๋‚˜๋ˆ„๊ธฐ(Spring Data JPA)๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ๋ณด๊ธฐ_์˜ค๋ผํด, ์Šคํ”„๋ง๋ถ€ํŠธ,ํŽ˜์ด์ง€๋‚˜๋ˆ„๊ธฐ
(Spring Data JPA)๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ๋ณด๊ธฐ_์˜ค๋ผํด, ์Šคํ”„๋ง๋ถ€ํŠธ,ํŽ˜์ด์ง€๋‚˜๋ˆ„๊ธฐ
ย 

Spring data jpa

  • 1. Spring Data JPA + Hibernate + QueryDSL
  • 2. ORM ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์‰ฌ์šด ๋ฐฉ๋ฒ•์„ ์ œ๊ณต ์ฐธ๊ณ : ์ขŒ์ถฉ์šฐ๋Œ ORM ๊ฐœ๋ฐœ๊ธฐ | Devon 2012 http://www.slideshare.net/daumdna/devon -2012-b4-orm
  • 3. 2012๋…„ 8์›” ๊ตญ๋‚ด ๊ตฌ๊ธ€๊ฒ€์ƒ‰
  • 4. 2012๋…„ 8์›” ์ „์„ธ๊ณ„ ๊ตฌ๊ธ€๊ฒ€์ƒ‰
  • 5. Spring Data ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š”๋ฐ ํ•„์š”ํ•œ, ๊ธฐ๋ณธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•จ. ๊ตฌํ˜„์ฒด๋„ ์ œ๊ณต Spring Data JPA, MongoDB, REDIS, SOLR, ElasticSerch ๋“ฑ
  • 6. JPA ์ž๋ฐ”์—์„œ ์ œ์ •ํ•œ, ORM ๊ด€๋ จ ํ‘œ์ค€ ์ŠคํŽ™ ๊ตฌํ˜„์ฒด๋กœ๋Š” Hibernate, EclipseLINK ๋“ฑ
  • 7. JPA ์žฅ์  - ์ฟผ๋ฆฌ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์œผ๋‹ˆ, DB ๋ฒค๋”์— ์ข…์† ์ ์ด์ง€ ์•Š๋‹ค. - ๋‹จ์ˆœ ํ…Œ์ด๋ธ” ๋งคํ•‘ ์ •๋„๋ผ๋ฉด, ์‰ฝ๊ฒŒ ๊ตฌํ˜„ ๊ฐ€๋Šฅ - ์ˆœ์ˆ˜ํ•œ ๋ชจ๋ธ ๊ฐ์ฒด๋ฅผ ์ง€ํ–ฅํ•˜๋Š” Persistence ์ฝ”๋”ฉ ํŒจํ„ด์„ ๋”ฐ๋ผ๊ฐˆ ์ˆ˜ ์žˆ ๋‹ค.
  • 8. JPA ๋‹จ์  - 10ms ํŠœ๋‹์ด ์ค‘์š”ํ•œ ์„œ๋น„์Šค - N+1 ์„ฑ๋Šฅ ๋ฌธ์ œ. ์ฟผ๋ฆฌ๊ฐ€ 100๊ฐœ๊ฐ€ ๋™์‹œ์— ๋‚ ์•„๊ฐ„๋‹ค. - ์ฟผ๋ฆฌ๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•˜๊ณ , ์ฝ”๋”ฉํ•˜๋ฉด ์–ด๋ ต๋‹ค. ํŠนํžˆ JOIN
  • 10. Spring DATA-JPA DAO ํŒจํ„ด SERVICE DAO =Interface= DAOImpl =Implements=
  • 11. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ * TABLE โ€“ CLASS ๋งคํ•‘ TV_SECTION TABLE TvSection Entity Class
  • 12. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ * TABLE โ€“ CLASS ๋งคํ•‘ @Entity @Table(name="tv_section") public class TvSection { @Id @Column(name = "tv_program_id") private long tvProgramId; private int channel;
  • 13. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ * DAO ์ธํ„ฐํŽ˜์ด์Šค ๋งŒ๋“ค๊ธฐ @Repository public interface TvSectionRepository extends PagingAndSortingRepository<TvSection, Long> { }
  • 14. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ * ๊ฒฐ๊ณผ ๊ฐ€์ ธ์˜ค๊ธฐ tvSectionRepository.findAll();
  • 15. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ โ€ข ์›๋ฆฌ - 1 DAO ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์ •์˜ํ•˜๋ฉด ํ•˜์œ„ ๊ตฌํ˜„์€ Spring Data JPA ๊ฐ€ ์•Œ์•„์„œ.. ์ปจํ…์ŠคํŠธ๊ฐ€ ๋กœ๋”ฉ์ด ๋ ๋•Œ, ๋‚ด๊ฐ€ ์ •์˜ํ•œ ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ด๋‘ก๋‹ˆ๋‹ค.
  • 16. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ โ€ข ์›๋ฆฌ - 2 ๋Œ€๋ถ€๋ถ„์˜ CRUD ๊ฐ€ ํ•ด๊ฒฐ๋œ ๊ตฌํ˜„์ฒด๊ฐ€ ์กด์žฌํ•ฉ ๋‹ˆ๋‹ค. PagingAndSortingRepository โ€“ ํŽ˜์ด์ง• ๊ธฐ๋Šฅ CrudRepository โ€“ CRUD ๊ธฐ๋Šฅ Repository - ๊ธฐ๋ณธ
  • 17. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ โ€ข ํŽ˜์ด์ง• ๊ฒฐ๊ณผ ๊ฐ€์ ธ์˜ค๊ธฐ Sort sort = new Sort( new Order(Direction.DESC, "lastmodified") ); Pageable pageable = new PageRequest(0, 10, sort); tvSectionRepository.findAll(pageable);
  • 18. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ -1 @Repository public interface TvSectionRepository extends PagingAndSortingRepository<TvSection, Long> { TvSection findByTvProgramId(long Id); }
  • 19. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€“ Method ์ด๋ฆ„์„ ์‚ฌ์šฉ And findByLastnameAndFirstname โ€ฆ where x.lastname = ?1 and x.firstname = ?2 Or findByLastnameOrFirstname โ€ฆ where x.lastname = ?1 or x.firstname = ?2 Between findByStartDateBetween โ€ฆ where x.startDate between 1? and ?2 Like findByFirstnameLike โ€ฆ where x.firstname like ?1
  • 20. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ โ€ข ํ…Œ์ด๋ธ”์„ ์—ฌ๋Ÿฌ ๊ฐœ ์กฐ์ธํ•˜๊ณ  ์ˆ˜๋งŽ์€ ์กฐ๊ฑด ๋ฌธ์ด ์žˆ๋Š” ๊ฒฝ์šฐ๋ผ๋ฉดโ€ฆ findByLastnameAndFirstnameOrDateB etweenChannelLikeLastnameNotInStar tDate(String a, String b, Date c, โ€ฆ..)
  • 21. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€“ Spec ์„ ์ง€์ • - CriteriaBuilder ๋ฅผ ์ด์šฉํ•˜๊ธฐ - QueryDSL์„ ์ด์šฉํ•˜๊ธฐ tvSectionRepository.findAll(spec, pageable);
  • 22. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€“ CriteriaBuilder CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery<Order> cq = cb.createQuery(Order.class); SetJoin<Order, Item> itemNode = cq.from(Order.class).join(Order_.items); cq.where( cb.equal(itemNode.get(Item_.id), 5 ) ) .distinct(true);
  • 23. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€“ CriteriaBuilder CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery<Order> cq = cb.createQuery(Order.class); SetJoin<Order, Item> itemNode = cq.from(Order.class).join(Order_.items); cq.where( cb.equal(itemNode.get(Item_.id), 5 ) ) .distinct(true);
  • 24. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€“ QueryDSL QTvSection.tvSection.channel.eq(value); QTvSection.tvSection.title.like(value)
  • 25. JPA ๋ฅผ ์ด์šฉํ•œ DAO ๊ตฌํ˜„ โ€ข ์กฐ๊ฑด๋ฌธ ์ถ”๊ฐ€ํ•˜๊ธฐ โ€“ QueryDSL BooleanBuilder builder = new BooleanBuilder(); builder.and( QTvSection.tvSection.channel.eq(value) ); builder.and( QTvSection.tvSection.titleKo.like(value) ); builder.and( QTvSection.tvSection.titleKo.isNotNull() ); repository.findAll(builder.getValue(), pageable);