ÄÜÅÙÃ÷ »ó¼¼º¸±â
ÀÚ¹Ù ORM Ç¥ÁØ JPA ÇÁ·Î±×·¡¹Ö


ÀÚ¹Ù ORM Ç¥ÁØ JPA ÇÁ·Î±×·¡¹Ö

ÀÚ¹Ù ORM Ç¥ÁØ JPA ÇÁ·Î±×·¡¹Ö

<±è¿µÇÑ> Àú | ¿¡ÀÌÄÜÃâÆÇ»ç

Ãâ°£ÀÏ
2020-06-01
ÆÄÀÏÆ÷¸Ë
ePub
¿ë·®
12 M
Áö¿ø±â±â
PC½º¸¶Æ®ÆùÅÂºí¸´PC
ÇöȲ
½Åû °Ç¼ö : 0 °Ç
°£·« ½Åû ¸Þ¼¼Áö
ÄÜÅÙÃ÷ ¼Ò°³
ÀúÀÚ ¼Ò°³
¸ñÂ÷
ÇÑÁÙ¼­Æò

ÄÜÅÙÃ÷ ¼Ò°³

ÀÚ¹Ù ORM Ç¥ÁØ JPA´Â SQL ÀÛ¼º ¾øÀÌ °´Ã¼¸¦ µ¥ÀÌÅͺ£À̽º¿¡ Á÷Á¢ ÀúÀåÇÒ ¼ö ÀÖ°Ô µµ¿ÍÁÖ°í, °´Ã¼¿Í °ü°èÇü µ¥ÀÌÅͺ£À̽ºÀÇ Â÷À̵µ Áß°£¿¡¼­ ÇØ°áÇØÁØ´Ù. ÀÌ Ã¥Àº JPA ±âÃÊ À̷аú ÇÙ½É ¿ø¸®, ±×¸®°í ½Ç¹«¿¡ ÇÊ¿äÇÑ ¼º´É ÃÖÀûÈ­ ¹æ¹ý±îÁö JPA¿¡ ´ëÇÑ ¸ðµç °ÍÀ» ´Ù·é´Ù. ¶ÇÇÑ, ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©¿Í JPA¸¦ ÇÔ²² »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°í, ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA, QueryDSL °°Àº Çõ½ÅÀûÀÎ ¿ÀÇ ¼Ò½º¸¦ È°¿ëÇؼ­ ÀÚ¹Ù À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» È¿°úÀûÀ¸·Î °³¹ßÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù.

´ÙÀ½ ¸µÅ©¿¡¼­ ¿Â¶óÀÎ °­ÀǸ¦ ¼ö°­ÇÒ ¼ö ÀÖ´Ù.
- ±âº»Æí: https://www.inflearn.com/course/ORM-JPA-Basic
- È°¿ëÆí 1: https://www.inflearn.com/course/½ºÇÁ¸µºÎÆ®-JPA-È°¿ë-1
- È°¿ëÆí 2: Áغñ ÁßÀÔ´Ï´Ù.

ÀúÀÚ¼Ò°³

SI¿¡¼­ ´Ù¾çÇÑ ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇÏ°í, J2EE °­»ç¿Í ´ÙÀ½ Ä¿¹Â´ÏÄÉÀ̼Ç, SK Ç÷¡´ÖÀ» °ÅÃÄ ÇöÀç ¿ì¾ÆÇÑÇüÁ¦µé¿¡¼­ °³¹ß ÆÀÀåÀ¸·Î ±Ù¹«ÇÏ°í ÀÖ´Ù. µµ¸ÞÀÎ ÁÖµµ ¼³°è¿¡ °ü½ÉÀÌ ¸¹À¸¸ç, ²÷ÀÓ¾øÀÌ °øºÎÇÏ°í ´õ ³ªÀº Äڵ带 ÀÛ¼ºÇÏ´Â °³¹ßÀÚ°¡ µÇ·Á°í ³ë·Â ÁßÀÌ´Ù.

¸ñÂ÷

1Àå. JPA ¼Ò°³
1.1 SQL°ú ¹®Á¦Á¡
1.1.1 ¹Ýº¹, ¹Ýº¹ ±×¸®°í ¹Ýº¹
1.1.2 SQL¿¡ ÀÇÁ¸ÀûÀÎ °³¹ß
1.1.3 JPA¿Í ¹®Á¦ ÇØ°á
1.2 Æз¯´ÙÀÓÀÇ ºÒÀÏÄ¡
1.2.1 »ó¼Ó
1.2.2 ¿¬°ü°ü°è
1.2.3 °´Ã¼ ±×·¡ÇÁ Ž»ö
1.2.4 ºñ±³
1.2.5 Á¤¸®
1.3 JPA¶õ ¹«¾ùÀϱî?
1.3.1 JPA ¼Ò°³
1.3.2 ¿Ö JPA¸¦ »ç¿ëÇØ¾ß Çϴ°¡?
1.4 Á¤¸®

2Àå. JPA ½ÃÀÛ
2.1 ÀÌŬ¸³½º ¼³Ä¡¿Í ÇÁ·ÎÁ§Æ® ºÒ·¯¿À±â
2.2 H2 µ¥ÀÌÅͺ£À̽º ¼³Ä¡
2.3 ¶óÀ̺귯¸®¿Í ÇÁ·ÎÁ§Æ® ±¸Á¶
2.3.1 ¸ÞÀ̺ì°ú »ç¿ë ¶óÀ̺귯¸® °ü¸®
2.4 °´Ã¼ ¸ÅÇÎ ½ÃÀÛ
2.5 persistence.xml ¼³Á¤
2.5.1 µ¥ÀÌÅͺ£À̽º ¹æ¾ð
2.6 ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß
2.6.1 ¿£Æ¼Æ¼ ¸Å´ÏÀú ¼³Á¤
2.6.2 Æ®·£Àè¼Ç °ü¸®
2.6.3 ºñÁî´Ï½º ·ÎÁ÷
2.6.4 JPQL
2.7 Á¤¸®

3Àå. ¿µ¼Ó¼º °ü¸®
3.1 ¿£Æ¼Æ¼ ¸Å´ÏÀú ÆÑÅ丮¿Í ¿£Æ¼Æ¼ ¸Å´ÏÀú
3.2 ¿µ¼Ó¼º ÄÁÅؽºÆ®¶õ?
3.3 ¿£Æ¼Æ¼ÀÇ »ý¸íÁÖ±â
3.4 ¿µ¼Ó¼º ÄÁÅؽºÆ®ÀÇ Æ¯Â¡
3.4.1 ¿£Æ¼Æ¼ Á¶È¸
3.4.2 ¿£Æ¼Æ¼ µî·Ï
3.4.3 ¿£Æ¼Æ¼ ¼öÁ¤
3.4.4 ¿£Æ¼Æ¼ »èÁ¦
3.5 Ç÷¯½Ã
3.5.1 Ç÷¯½Ã ¸ðµå ¿É¼Ç
3.6 ÁØ¿µ¼Ó
3.6.1 ¿£Æ¼Æ¼¸¦ ÁØ¿µ¼Ó »óÅ·ΠÀüȯ: detach( )
3.6.2 ¿µ¼Ó¼º ÄÁÅؽºÆ® ÃʱâÈ­: clear( )
3.6.3 ¿µ¼Ó¼º ÄÁÅؽºÆ® Á¾·á: close( )
3.6.4 ÁØ¿µ¼Ó »óÅÂÀÇ Æ¯Â¡
3.6.5 º´ÇÕ: merge( )
3.7 Á¤¸®

4Àå. ¿£Æ¼Æ¼ ¸ÅÇÎ
4.1 @Entity
4.2 @Table
4.3 ´Ù¾çÇÑ ¸ÅÇÎ »ç¿ë
4.4 µ¥ÀÌÅͺ£À̽º ½ºÅ°¸¶ ÀÚµ¿ »ý¼º
4.5 DDL »ý¼º ±â´É
4.6 ±âº» Å° ¸ÅÇÎ
4.6.1 ±âº» Å° Á÷Á¢ ÇÒ´ç Àü·«
4.6.2 IDENTITY Àü·«
4.6.3 SEQUENCE Àü·«
4.6.4 TABLE Àü·«
4.6.5 AUTO Àü·«
4.6.6 ±âº» Å° ¸ÅÇÎ Á¤¸®
4.7 Çʵå¿Í Ä÷³ ¸ÅÇÎ: ·¹ÆÛ·±½º
4.7.1 @Column
4.7.2 @Enumerated
4.7.3 @Temporal
4.7.4 @Lob
4.7.5 @Transient
4.7.6 @Access
4.8 Á¤¸®

½ÇÀü ¿¹Á¦ 1. ¿ä±¸»çÇ× ºÐ¼®°ú ±âº» ¸ÅÇÎ
¿ä±¸»çÇ× ºÐ¼®
µµ¸ÞÀÎ ¸ðµ¨ ºÐ¼®
Å×ÀÌºí ¼³°è
¿£Æ¼Æ¼ ¼³°è¿Í ¸ÅÇÎ
µ¥ÀÌÅÍ Á᫐ ¼³°èÀÇ ¹®Á¦Á¡

5Àå. ¿¬°ü°ü°è ¸ÅÇÎ ±âÃÊ
5.1 ´Ü¹æÇâ ¿¬°ü°ü°è
5.1.1 ¼ø¼öÇÑ °´Ã¼ ¿¬°ü°ü°è
5.1.2 Å×ÀÌºí ¿¬°ü°ü°è
5.1.3 °´Ã¼ °ü°è ¸ÅÇÎ
5.1.4 @JoinColumn
5.1.5 @ManyToOne
5.2 ¿¬°ü°ü°è »ç¿ë
5.2.1 ÀúÀå
5.2.2 Á¶È¸
5.2.3 ¼öÁ¤
5.2.4 ¿¬°ü°ü°è Á¦°Å
5.2.5 ¿¬°üµÈ ¿£Æ¼Æ¼ »èÁ¦
5.3 ¾ç¹æÇâ ¿¬°ü°ü°è
5.3.1 ¾ç¹æÇâ ¿¬°ü°ü°è ¸ÅÇÎ
5.3.2 ÀÏ´ë´Ù Ä÷º¼Ç Á¶È¸
5.4 ¿¬°ü°ü°èÀÇ ÁÖÀÎ
5.4.1 ¾ç¹æÇâ ¸ÅÇÎÀÇ ±ÔÄ¢: ¿¬°ü°ü°èÀÇ ÁÖÀÎ
5.4.2 ¿¬°ü°ü°èÀÇ ÁÖÀÎÀº ¿Ü·¡ Å°°¡ ÀÖ´Â °÷
5.5 ¾ç¹æÇâ ¿¬°ü°ü°è ÀúÀå
5.6 ¾ç¹æÇâ ¿¬°ü°ü°èÀÇ ÁÖÀÇÁ¡
5.6.1 ¼ø¼öÇÑ °´Ã¼±îÁö °í·ÁÇÑ ¾ç¹æÇâ ¿¬°ü°ü°è
5.6.2 ¿¬°ü°ü°è ÆíÀÇ ¸Þ¼Òµå
5.6.3 ¿¬°ü°ü°è ÆíÀÇ ¸Þ¼Òµå ÀÛ¼º ½Ã ÁÖÀÇ»çÇ×
5.7 Á¤¸®

½ÇÀü ¿¹Á¦ 2. ¿¬°ü°ü°è ¸ÅÇÎ ½ÃÀÛ
ÀÏ´ë´Ù, ´Ù´ëÀÏ ¿¬°ü°ü°è ¸ÅÇÎ
°´Ã¼ ±×·¡ÇÁ Ž»ö

6Àå. ´Ù¾çÇÑ ¿¬°ü°ü°è ¸ÅÇÎ
6.1 ´Ù´ëÀÏ
6.1.1 ´Ù´ëÀÏ ´Ü¹æÇâ [N:1]
6.1.2 ´Ù´ëÀÏ ¾ç¹æÇâ [N:1, 1:N]
6.2 ÀÏ´ë´Ù
6.2.1 ÀÏ´ë´Ù ´Ü¹æÇâ [1:N]
6.2.2 ÀÏ´ë´Ù ¾ç¹æÇâ [1:N, N:1]
6.3 ÀÏ´ëÀÏ [1:1]
6.3.1 ÁÖ Å×ÀÌºí¿¡ ¿Ü·¡ Å°
6.3.2 ´ë»ó Å×ÀÌºí¿¡ ¿Ü·¡ Å°
6.4 ´Ù´ë´Ù [N:N]
6.4.1 ´Ù´ë´Ù: ´Ü¹æÇâ
6.4.2 ´Ù´ë´Ù: ¾ç¹æÇâ
6.4.3 ´Ù´ë´Ù: ¸ÅÇÎÀÇ ÇÑ°è¿Í ±Øº¹, ¿¬°á ¿£Æ¼Æ¼ »ç¿ë
6.4.4 ´Ù´ë´Ù: »õ·Î¿î ±âº» Å° »ç¿ë
6.4.5 ´Ù´ë´Ù ¿¬°ü°ü°è Á¤¸®
6.5 Á¤¸®

½ÇÀü ¿¹Á¦ 3. ´Ù¾çÇÑ ¿¬°ü°ü°è ¸ÅÇÎ
ÀÏ´ëÀÏ ¸ÅÇÎ
´Ù´ë´Ù ¸ÅÇÎ

7Àå. °í±Þ ¸ÅÇÎ
7.1 »ó¼Ó °ü°è ¸ÅÇÎ
7.1.1 Á¶ÀÎ Àü·«
7.1.2 ´ÜÀÏ Å×À̺í Àü·«
7.1.3 ±¸Çö Ŭ·¡½º¸¶´Ù Å×À̺í Àü·«
7.2 @MappedSuperclass
7.3 º¹ÇÕ Å°¿Í ½Äº° °ü°è ¸ÅÇÎ
7.3.1 ½Äº° °ü°è vs ºñ½Äº° °ü°è
7.3.2 º¹ÇÕ Å°: ºñ½Äº° °ü°è ¸ÅÇÎ
7.3.3 º¹ÇÕ Å°: ½Äº° °ü°è ¸ÅÇÎ
7.3.4 ºñ½Äº° °ü°è·Î ±¸Çö
7.3.5 ÀÏ´ëÀÏ ½Äº° °ü°è
7.3.6 ½Äº°, ºñ½Äº° °ü°èÀÇ Àå´ÜÁ¡
7.4 Á¶ÀÎÅ×À̺í
7.4.1 ÀÏ´ëÀÏ Á¶ÀÎÅ×À̺í
7.4.2 ÀÏ´ë´Ù Á¶ÀÎÅ×À̺í
7.4.3 ´Ù´ëÀÏ Á¶ÀÎÅ×À̺í
7.4.4 ´Ù´ë´Ù Á¶ÀÎÅ×À̺í
7.5 ¿£Æ¼Æ¼ Çϳª¿¡ ¿©·¯ Å×ÀÌºí ¸ÅÇÎ
7.6 Á¤¸®

½ÇÀü ¿¹Á¦ 4. »ó¼Ó °ü°è ¸ÅÇÎ
»ó¼Ó °ü°è ¸ÅÇÎ
@MappedSuperclass ¸ÅÇÎ

8Àå. ÇÁ·Ï½Ã¿Í ¿¬°ü°ü°è °ü¸®
8.1 ÇÁ·Ï½Ã
8.1.1 ÇÁ·Ï½Ã ±âÃÊ
8.1.2 ÇÁ·Ï½Ã¿Í ½Äº°ÀÚ
8.1.3 ÇÁ·Ï½Ã È®ÀÎ
8.2 Áï½Ã ·Îµù°ú Áö¿¬ ·Îµù
8.2.1 Áï½Ã ·Îµù
8.2.2 Áö¿¬ ·Îµù
8.2.3 Áï½Ã ·Îµù, Áö¿¬ ·Îµù Á¤¸®
8.3 Áö¿¬ ·Îµù È°¿ë
8.3.1 ÇÁ·Ï½Ã¿Í Ä÷º¼Ç ·¡ÆÛ
8.3.2 JPA ±âº» ÆäÄ¡ Àü·«
8.3.3 Ä÷º¼Ç¿¡ FetchType.EAGER »ç¿ë ½Ã ÁÖÀÇÁ¡
8.4 ¿µ¼Ó¼º ÀüÀÌ - CASCADE
8.4.1 ¿µ¼Ó¼º ÀüÀÌ: ÀúÀå
8.4.2 ¿µ¼Ó¼º ÀüÀÌ: »èÁ¦
8.4.3 CASCADEÀÇ Á¾·ù
8.5 °í¾Æ °´Ã¼
8.6 ¿µ¼Ó¼º ÀüÀÌ + °í¾Æ °´Ã¼, »ý¸íÁÖ±â
8.7 Á¤¸®

½ÇÀü ¿¹Á¦ 5. ¿¬°ü°ü°è °ü¸®
±Û·Î¹ú ÆäÄ¡ Àü·« ¼³Á¤
¿µ¼Ó¼º ÀüÀÌ ¼³Á¤

9Àå. °ª ŸÀÔ
9.1 ±âº»°ª ŸÀÔ
9.2 ÀÓº£µðµå ŸÀÔ(º¹ÇÕ °ª ŸÀÔ)
9.2.1 ÀÓº£µðµå ŸÀÔ°ú Å×ÀÌºí ¸ÅÇÎ
9.2.2 ÀÓº£µðµå ŸÀÔ°ú ¿¬°ü°ü°è
9.2.3 @AttributeOverride: ¼Ó¼º ÀçÁ¤ÀÇ
9.2.4 ÀÓº£µðµå ŸÀÔ°ú null
9.3. °ª ŸÀÔ°ú ºÒº¯ °´Ã¼
9.3.1 °ª ŸÀÔ °øÀ¯ ÂüÁ¶
9.3.2 °ª ŸÀÔ º¹»ç
9.3.3 ºÒº¯ °´Ã¼
9.4. °ª ŸÀÔÀÇ ºñ±³
9.5. °ª ŸÀÔ Ä÷º¼Ç
9.5.1 °ª ŸÀÔ Ä÷º¼Ç »ç¿ë
9.5.2 °ª ŸÀÔ Ä÷º¼ÇÀÇ Á¦¾à»çÇ×
9.6 Á¤¸®

½ÇÀü ¿¹Á¦ 6. °ª ŸÀÔ ¸ÅÇÎ
½ÇÀü ¿¹Á¦ Á¤¸®

10Àå. °´Ã¼ÁöÇâ Äõ¸® ¾ð¾î
10.1 °´Ã¼ÁöÇâ Äõ¸® ¼Ò°³
10.1.1 JPQL ¼Ò°³
10.1.2 Criteria Äõ¸® ¼Ò°³
10.1.3 QueryDSL ¼Ò°³
10.1.4 ³×ÀÌƼºê SQL ¼Ò°³
10.1.5 JDBC Á÷Á¢ »ç¿ë, ¸¶À̹ÙƼ½º °°Àº SQL ¸ÅÆÛ ÇÁ·¹ÀÓ¿öÅ© »ç¿ë
10.2 JPQL
10.2.1 ±âº» ¹®¹ý°ú Äõ¸® API
10.2.2 ÆĶó¹ÌÅÍ ¹ÙÀεù
10.2.3 ÇÁ·ÎÁ§¼Ç
10.2.4 ÆäÀÌ¡ API
10.2.5 ÁýÇÕ°ú Á¤·Ä
10.2.6 JPQL Á¶ÀÎ
10.2.7 ÆäÄ¡ Á¶ÀÎ
10.2.8 °æ·Î Ç¥Çö½Ä
10.2.9 ¼­ºê Äõ¸®
10.2.10 Á¶°Ç½Ä
10.2.11 ´ÙÇü¼º Äõ¸®
10.2.12 »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö È£Ãâ(JPA 2.1)
10.2.13 ±âŸ Á¤¸®
10.2.14 ¿£Æ¼Æ¼ Á÷Á¢ »ç¿ë
10.2.15 Named Äõ¸®: Á¤Àû Äõ¸®
10.3 Criteria
10.3.1 Criteria ±âÃÊ
10.3.2 Criteria Äõ¸® »ý¼º
10.3.3 Á¶È¸
10.3.4 ÁýÇÕ
10.3.5 Á¤·Ä
10.3.6 Á¶ÀÎ
10.3.7 ¼­ºê Äõ¸®
10.3.8 IN ½Ä
10.3.9 CASE ½Ä
10.3.10 ÆĶó¹ÌÅÍ Á¤ÀÇ
10.3.11 ³×ÀÌƼºê ÇÔ¼ö È£Ãâ
10.3.12 µ¿Àû Äõ¸®
10.3.13 ÇÔ¼ö Á¤¸®
10.3.14 Criteria ¸ÞŸ ¸ðµ¨ API
10.4 QueryDSL
10.4.1 QueryDSL ¼³Á¤
10.4.2 ½ÃÀÛ
10.4.3 °Ë»ö Á¶°Ç Äõ¸®
10.4.4 °á°ú Á¶È¸
10.4.5 ÆäÀÌ¡°ú Á¤·Ä
10.4.6 ±×·ì
10.4.7 Á¶ÀÎ
10.4.8 ¼­ºê Äõ¸®
10.4.9 ÇÁ·ÎÁ§¼Ç°ú °á°ú ¹Ýȯ
10.4.10 ¼öÁ¤, »èÁ¦ ¹èÄ¡ Äõ¸®
10.4.11 µ¿Àû Äõ¸®
10.4.12 ¸Þ¼Òµå À§ÀÓ
10.4.13 QueryDSL Á¤¸®
10.5 ³×ÀÌƼºê SQL
10.5.1 ³×ÀÌƼºê SQL »ç¿ë
10.5.2 Named ³×ÀÌƼºê SQL
10.5.3 ³×ÀÌƼºê SQL XML ¿¡ Á¤ÀÇ
10.5.4 ³×ÀÌƼºê SQL Á¤¸®
10.5.5 ½ºÅä¾îµå ÇÁ·Î½ÃÀú(JPA 2.1)
10.6 °´Ã¼ÁöÇâ Äõ¸® ½ÉÈ­
10.6.1 ¹úÅ© ¿¬»ê
10.6.2 ¿µ¼Ó¼º ÄÁÅؽºÆ®¿Í JPQL
10.6.3 JPQL°ú Ç÷¯½Ã ¸ðµå
10.7 Á¤¸®

11Àå. À¥ ¾ÖÇø®ÄÉÀÌ¼Ç Á¦ÀÛ
11.1 ÇÁ·ÎÁ§Æ® ȯ°æ¼³Á¤
11.1.1 ÇÁ·ÎÁ§Æ® ±¸Á¶
11.1.2 ¸ÞÀ̺ì°ú »ç¿ë ¶óÀ̺귯¸® °ü¸®
11.1.3 ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© ¼³Á¤
11.2 µµ¸ÞÀÎ ¸ðµ¨°ú Å×ÀÌºí ¼³°è
11.2.1 ¿ä±¸»çÇ× ºÐ¼®
11.2.2 µµ¸ÞÀÎ ¸ðµ¨ ¼³°è
11.2.3 Å×ÀÌºí ¼³°è
11.2.4 ¿¬°ü°ü°è Á¤¸®
11.2.5 ¿£Æ¼Æ¼ Ŭ·¡½º
11.3 ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Çö
11.3.1 °³¹ß ¹æ¹ý
11.3.2 ȸ¿ø ±â´É
11.3.3 »óÇ° ±â´É
11.3.4 ÁÖ¹® ±â´É
11.3.5 À¥ °èÃþ ±¸Çö
11.4 Á¤¸®

12Àå. ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA
12.1 ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA ¼Ò°³
12.1.1 ½ºÇÁ¸µ µ¥ÀÌÅÍ ÇÁ·ÎÁ§Æ®
12.2 ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA ¼³Á¤
12.3 °øÅë ÀÎÅÍÆäÀ̽º ±â´É
12.4 Äõ¸® ¸Þ¼Òµå ±â´É
12.4.1 ¸Þ¼Òµå À̸§À¸·Î Äõ¸® »ý¼º
12.4.2 JPA NamedQuery
12.4.3 @Query, ¸®ÆÄÁöÅ丮 ¸Þ¼Òµå¿¡ Äõ¸® Á¤ÀÇ
12.4.4 ÆĶó¹ÌÅÍ ¹ÙÀεù
12.4.5 ¹úÅ©¼º ¼öÁ¤ Äõ¸®
12.4.6 ¹Ýȯ ŸÀÔ
12.4.7 ÆäÀÌ¡°ú Á¤·Ä
12.4.8 ÈùÆ®
12.4.9 Lock
12.5 Specifications(¸í¼¼)
12.6 »ç¿ëÀÚ Á¤ÀÇ ¸®ÆÄÁöÅ丮 ±¸Çö
12.7 Web È®Àå
12.7.1 ¼³Á¤
12.7.2 µµ¸ÞÀΠŬ·¡½º ÄÁ¹öÅÍ ±â´É
12.7.3 ÆäÀÌ¡°ú Á¤·Ä ±â´É
12.8 ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA°¡ »ç¿ëÇÏ´Â ±¸Çöü
12.9 JPA ¼¥¿¡ Àû¿ë
12.9.1 ȯ°æ ¼³Á¤
12.9.2 ¸®ÆÄÁöÅ丮 ¸®ÆÑÅ丵
12.9.3 ¸í¼¼ Àû¿ë
12.10 ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA¿Í QueryDSL ÅëÇÕ
12.10.1 QueryDslPredicateExecutor »ç¿ë
12.10.3 QueryDslRepositorySupport »ç¿ë
12.11 Á¤¸®

13Àå. À¥ ¾ÖÇø®ÄÉÀ̼ǰú ¿µ¼Ó¼º °ü¸®
13.1 Æ®·£Àè¼Ç ¹üÀ§ÀÇ ¿µ¼Ó¼º ÄÁÅؽºÆ®
13.1.1 ½ºÇÁ¸µ ÄÁÅ×À̳ÊÀÇ ±âº» Àü·«
13.2 ÁØ¿µ¼Ó »óÅÂ¿Í Áö¿¬ ·Îµù
13.2.1 ±Û·Î¹ú ÆäÄ¡ Àü·« ¼öÁ¤
13.2.2 JPQL ÆäÄ¡ Á¶ÀÎ
13.2.3 °­Á¦·Î ÃʱâÈ­
13.2.4 FACADE °èÃþ Ãß°¡
13.2.5 ÁØ¿µ¼Ó »óÅÂ¿Í Áö¿¬ ·ÎµùÀÇ ¹®Á¦Á¡
13.3 OSIV
13.3.1 °ú°Å OSIV: ¿äû ´ç Æ®·£Àè¼Ç
13.3.2 ½ºÇÁ¸µ OSIV: ºñÁî´Ï½º °èÃþ Æ®·£Àè¼Ç
13.3.3 OSIV Á¤¸®
13.4 ³Ê¹« ¾ö°ÝÇÑ °èÃþ
13.5 Á¤¸®

14Àå. Ä÷º¼Ç°ú ºÎ°¡ ±â´É
14.1 Ä÷º¼Ç
14.1.1 JPA¿Í Ä÷º¼Ç
14.1.2 Collection, List
14.1.3 Set
14.1.4 List + @OrderColumn
14.1.5 @OrderBy
14.2 @Converter
14.2.1 ±Û·Î¹ú ¼³Á¤
14.3 ¸®½º³Ê
14.3.1 À̺¥Æ® Á¾·ù
14.3.2 À̺¥Æ® Àû¿ë À§Ä¡
14.4 ¿£Æ¼Æ¼ ±×·¡ÇÁ
14.4.1 Named ¿£Æ¼Æ¼ ±×·¡ÇÁ
14.4.2 em.find( )¿¡¼­ ¿£Æ¼Æ¼ ±×·¡ÇÁ »ç¿ë
14.4.3 subgraph
14.4.4 JPQL¿¡¼­ ¿£Æ¼Æ¼ ±×·¡ÇÁ »ç¿ë
14.4.5 µ¿Àû ¿£Æ¼Æ¼ ±×·¡ÇÁ
14.4.6 ¿£Æ¼Æ¼ ±×·¡ÇÁ Á¤¸®
14.5 Á¤¸®

15Àå. °í±Þ ÁÖÁ¦¿Í ¼º´É ÃÖÀûÈ­
15.1 ¿¹¿Ü ó¸®
15.1.1 JPA Ç¥ÁØ ¿¹¿Ü Á¤¸®
15.1.2 ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©ÀÇ JPA ¿¹¿Ü º¯È¯
15.1.3 ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©¿¡ JPA ¿¹¿Ü º¯È¯±â Àû¿ë
15.1.4 Æ®·£Àè¼Ç ·Ñ¹é ½Ã ÁÖÀÇ»çÇ×
15.2 ¿£Æ¼Æ¼ ºñ±³
15.2.1 ¿µ¼Ó¼º ÄÁÅؽºÆ®°¡ °°À» ¶§ ¿£Æ¼Æ¼ ºñ±³
15.2.2 ¿µ¼Ó¼º ÄÁÅؽºÆ®°¡ ´Ù¸¦ ¶§ ¿£Æ¼Æ¼ ºñ±³
15.3 ÇÁ·Ï½Ã ½ÉÈ­ ÁÖÁ¦
15.3.1 ¿µ¼Ó¼º ÄÁÅؽºÆ®¿Í ÇÁ·Ï½Ã
15.3.2 ÇÁ·Ï½Ã ŸÀÔ ºñ±³
15.3.3 ÇÁ·Ï½Ã µ¿µî¼º ºñ±³
15.3.4 »ó¼Ó°ü°è¿Í ÇÁ·Ï½Ã
15.4 ¼º´É ÃÖÀûÈ­
15.4.1 N+1 ¹®Á¦
15.4.2 Àбâ Àü¿ë Äõ¸®ÀÇ ¼º´É ÃÖÀûÈ­
15.4.3 ¹èÄ¡ ó¸®
15.4.4 SQL Äõ¸® ÈùÆ® »ç¿ë
15.4.5 Æ®·£Àè¼ÇÀ» Áö¿øÇÏ´Â ¾²±â Áö¿¬°ú ¼º´É ÃÖÀûÈ­
15.5 Á¤¸®

16Àå. Æ®·£Àè¼Ç°ú ¶ô, 2Â÷ ij½Ã
16.1 Æ®·£Àè¼Ç°ú ¶ô
16.1.1 Æ®·£Àè¼Ç°ú °Ý¸® ¼öÁØ
16.1.2 ³«°üÀû ¶ô°ú ºñ°üÀû ¶ô ±âÃÊ
16.1.3 @Version
16.1.4 JPA ¶ô »ç¿ë
16.1.5 JPA ³«°üÀû ¶ô
16.1.6 JPA ºñ°üÀû ¶ô
16.1.7 ºñ°üÀû ¶ô°ú ŸÀӾƿô
16.2 2Â÷ ij½Ã
16.2.1 1Â÷ ij½Ã¿Í 2Â÷ ij½Ã
16.2.2 JPA 2Â÷ ij½Ã ±â´É
16.2.3 ÇÏÀ̹ö³×ÀÌÆ®¿Í EHCACHE Àû¿ë
16.3 Á¤¸®