¿À¸®Áö³ÎÆÇÀÌ ÀÖ´Â °æ¿ì °³Á¤ÆÇÀ» ´Ù½Ã ±¸¸ÅÇÒ ÇÊ¿ä ¾øÀÌ ¿À¸®Áö³ÎÆÇÀ» ¾÷µ¥ÀÌÆ®ÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ǿ¡¼ °·ÂÇÏ°í È¿À²ÀûÀÎ µ¥ÀÌÅÍ Áö¼Ó¼º °èÃþÀ» ±¸ÃàÇϱâ À§ÇÑ ÀÚ¹Ù Áö¼Ó¼º API¸¦ ¸¶½ºÅÍÇϱâ À§ÇÑ Á¾ÇÕ °¡À̵åÀÎ "JPA"¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù. ÀÌ Ã¥Àº JPAÀÇ ±âº» »çÇ×, °í±Þ ±â´É ¹× ½ÇÁ¦ ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ »ó¼¼ÇÑ ¿©Á¤À» ÅëÇØ ÇÁ·ÎÁ§Æ®¿¡ È®Àå °¡´ÉÇÏ°í À¯Áö °ü¸®°¡ °¡´ÉÇÑ ¼Ö·ç¼ÇÀ» ¸¸µå´Â µ¥ ÇÊ¿äÇÑ Áö½ÄÀ» Á¦°øÇÕ´Ï´Ù.
1Àå, 'JPA ¼Ò°³'¿¡¼´Â JPAÀÇ Á¤ÀÇ, ¿ª»ç, ÀÌÁ¡À» ¼³¸íÇÏ¿© ±âÃʸ¦ ´ÙÁý´Ï´Ù. ¶ÇÇÑ JPAÀÇ ±Ù°£À» ÀÌ·ç´Â ÁÖ¿ä ¿ë¾î¿Í °³³äÀ» ÇнÀÇÏ¿© ÇнÀ ¿©Á¤À» À§ÇÑ °·ÂÇÑ Ãâ¹ßÁ¡À» Á¦°øÇÕ´Ï´Ù.
2Àå, 'JPA ȯ°æ ¼³Á¤Çϱâ'¿¡¼´Â ÀüÁ¦ Á¶°Ç, JPA °ø±ÞÀÚ ¼±ÅÃ(¿¹: Hibernate ¶Ç´Â EclipseLink), ÇÁ·ÎÁ§Æ®¿¡¼ JPA ±¸¼º ¹× µ¥ÀÌÅͺ£À̽º ¿¬°á ¹æ¹ýÀ» ¾È³»ÇÕ´Ï´Ù.
3Àå, 'ÇÙ½É JPA °³³ä'¿¡¼´Â ¿£Æ¼Æ¼ Á¤ÀÇ, ¿£Æ¼Æ¼ °ü°è °ü¸®, ±âº» Å° ÀÛ¾÷, »ý¼º, ¾÷µ¥ÀÌÆ®, Á¦°Å¿Í °°Àº À̺¥Æ®¿¡ ´ëÇÑ ÄݹéÀ» »ç¿ëÇÑ ¿£Æ¼Æ¼ ¼ö¸í ÁÖ±â ÀÌÇØ¿Í °°Àº Çʼö ÁÖÁ¦¸¦ »ìÆ캾´Ï´Ù.
4Àå, 'JPA ¾î³ëÅ×ÀÌ¼Ç ¹× ±¸¼º'¿¡¼´Â °¡Àå ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ¾î³ëÅ×À̼Ç, ±¸¼ºÀ» »ç¿ëÀÚ ÁöÁ¤ÇÏ´Â ¹æ¹ý, XML ±â¹Ý ±¸¼ºÀÇ »ç¿ë¿¡ ´ëÇØ ÀÚ¼¼È÷ ¼³¸íÇÕ´Ï´Ù. ÀÌ Àå¿¡¼´Â ¾î³ëÅ×À̼ÇÀ» È¿°úÀûÀ¸·Î »ç¿ëÇϱâ À§ÇÑ ¸ð¹ü »ç·Êµµ ´Ù·ì´Ï´Ù.
5Àå, 'JPA·Î µ¥ÀÌÅÍ Äõ¸®'¿¡¼´Â JPQL(ÀÚ¹Ù Áö¼Ó¼º Äõ¸® ¾ð¾î), Criteria API ¹× ±âº» SQL Äõ¸®¸¦ ¼Ò°³ÇÕ´Ï´Ù. ¶ÇÇÑ ´ë±Ô¸ð µ¥ÀÌÅÍ ¼¼Æ®¸¦ È¿À²ÀûÀ¸·Î ó¸®Çϱâ À§ÇØ ÆäÀÌÁö ¸Å±è°ú Á¤·ÄÀ» ±¸ÇöÇÏ´Â ¹æ¹ýµµ ¹è¿ó´Ï´Ù.
6Àå, 'Æ®·£Àè¼Ç °ü¸®'¿¡¼´Â Æ®·£Àè¼ÇÀÇ ±âº» »çÇ×, JTA¿Í ¸®¼Ò½º ·ÎÄà Ʈ·£Àè¼ÇÀÇ Â÷ÀÌÁ¡, ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ¸·Î ¶Ç´Â ÄÁÅ×ÀÌ³Ê °ü¸® ¿É¼ÇÀ» ÅëÇØ Æ®·£Àè¼ÇÀ» °ü¸®ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
7Àå, '°í±Þ JPA ±â´É'¿¡¼´Â ¼º´É ÃÖÀûȸ¦ À§ÇÑ Ä³½Ì, ÀÏ°ý ó¸®, Spring, Java EE, Micronaut¿Í °°Àº ÇÁ·¹ÀÓ¿öÅ©¿¡¼ JPA »ç¿ë°ú °°Àº °í±Þ ÁÖÁ¦¸¦ ÀÚ¼¼È÷ ´Ù·ì´Ï´Ù.
8Àå, 'JPA ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®'¿¡¼´Â JPA¸¦ »ç¿ëÇÑ ´ÜÀ§ Å×½ºÆ®, EntityManager ¸ðÅ·, ÅëÇÕ Å×½ºÆ® ¼öÇà¿¡ ´ëÇÑ Àü·«À» Á¦°øÇÕ´Ï´Ù. ÀÌ Àå¿¡¼´Â ¼º´É Å×½ºÆ® ¹× ÃÖÀûȸ¦ À§ÇÑ ±â¼úµµ ´Ù·ì´Ï´Ù.
9Àå, 'ÀϹÝÀûÀÎ JPA ÇÔÁ¤ ¹× ¹®Á¦ ÇØ°á'¿¡¼´Â ¿À·ù ó¸®, Äõ¸® µð¹ö±ë, ¼º´É ¹®Á¦ ÇØ°á µî °³¹ßÀÚ°¡ JPA·Î ÀÛ¾÷ÇÒ ¶§ ÀÚÁÖ Á÷¸éÇÏ´Â ¹®Á¦¸¦ ÁßÁ¡ÀûÀ¸·Î ´Ù·ì´Ï´Ù. ÀÌ·¯ÇÑ ÀϹÝÀûÀÎ ½Ç¼ö¸¦ ¹æÁöÇÏ´Â µ¥ µµ¿òÀÌ µÇ´Â ¸ð¹ü »ç·Ê°¡ Á¦°øµË´Ï´Ù.
10Àå, '»ç¿ë »ç·Ê ¹× Ãß°¡ ¸®¼Ò½º'¿¡¼´Â ÀÌ Ã¥¿¡¼ ´Ù·é ÁÖ¿ä °³³äÀ» ¿ä¾àÇÏ°í Ãß°¡ ÇнÀÀ» À§ÇÑ ¸®¼Ò½º¸¦ Á¦°øÇÕ´Ï´Ù. ¶ÇÇÑ ÀÌ Àå¿¡¼´Â Spring Data JPA¿Í ¸¶ÀÌÅ©·Î¼ºñ½º¿¡¼ÀÇ JPA »ç¿ë°ú °°Àº °í±Þ ÁÖÁ¦¸¦ ¼Ò°³ÇÏ¿© ±â¼úÀ» ÇÑ ´Ü°è ´õ ¹ßÀü½Ãų ¼ö ÀÖµµ·Ï µµ¿ÍÁÝ´Ï´Ù.
ÀÌ Ã¥À» ´Ù ÀÐ°í ³ª¸é JPA¿Í ½ÇÁ¦ ½Ã³ª¸®¿À¿¡¼ÀÇ Àû¿ë¿¡ ´ëÇØ ±íÀÌ ÀÖ°Ô ÀÌÇØÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù. µ¶¸³Çü ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÏµç ´õ Å« ¿¡ÄڽýºÅÛ¿¡ JPA¸¦ ÅëÇÕÇϵç, ÀÌ Ã¥À» ÅëÇØ ÀڽŠÀÖ°Ô ¾ÈÁ¤ÀûÀÎ Áö¼Ó¼º °èÃþÀ» ¼³°è, °³¹ß ¹× ÃÖÀûÈÇÒ ¼ö ÀÖ½À´Ï´Ù.
º» µµ¼´Â ÀΰøÁö´É ±â¹ÝÀ¸·Î °Ë»öµÈ ÄÜÅÙÃ÷¸¦ ¹ÙÅÁÀ¸·Î, ÀÏ¹Ý ¼½Ä, Áú¹®°ú ´äº¯, ¹®Á¦ Ç®ÀÌ µî ´Ù¾çÇÑ Çü½ÄÀ» ÅëÇØ ÇÙ½É °³³äÀ» ü°èÀûÀ¸·Î ¼³¸íÇÕ´Ï´Ù. µ¶ÀÚµéÀÌ °³³äÀ» º¸´Ù ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï, ¸í·áÇÏ°í °£°áÇÑ ±¸Á¶¸¦ À¯ÁöÇÏ¿´À¸¸ç, °¢ ¼Ò½º Äڵ忡 ÀûÇÕÇÑ ÇÏÀ̶óÀÌÆ® ±â´ÉÀ» Á¦°øÇÏ¿© °¡µ¶¼ºÀ» ±Ø´ëÈÇÏ¿´½À´Ï´Ù.
ÀÌ Ã¥Àº Á¾ÀÌÃ¥ ÇüÅ°¡ ¾Æ´Ñ EPUB ÀüÀÚÃ¥À¸·Î Á¦À۵Ǿî, ÀüÅëÀûÀÎ ÆäÀÌÁö ·¹À̾ƿô°ú´Â ´Ù¸¥, À¥ ±â¹ÝÀÇ È帧À» ÃëÇÏ°í ÀÖ½À´Ï´Ù. µû¶ó¼ Á¾ÀÌÃ¥°ú °°Àº ±¸¼º¿¡ Àͼ÷ÇÑ µ¶ÀÚ¶ó¸é ´Ù¼Ò ÀÌÁú°¨À» ´À³¥ ¼ö ÀÖ½À´Ï´Ù.
º» ÁÖÁ¦¿¡ óÀ½ Á¢ÇÏ´Â µ¶ÀÚ¿¡°Ô´Â ÀÌ µµ¼°¡ ´Ù¼Ò ¹æ´ëÇÑ ³»¿ë°ú ±íÀÌ ÀÖ´Â °³³äÀ» ´Ù·ç°í ÀÖ¾î ÁÖÁ¦¸¦ ÀÌÇØÇÏ´Â µ¥ ¾î·Á¿òÀ» ´À³¥ ¼ö ÀÖÀ¸¹Ç·Î, °ü·Ã ºÐ¾ß¿¡ ¾î´À Á¤µµ °æÇèÀÌ ÀÖ´Â µ¶Àڵ鿡°Ô ÀÌ Ã¥À» ±ÇÀåÇÕ´Ï´Ù. ±âÁ¸ Áö½ÄÀ» ³ÐÈ÷°íÀÚ ÇÏ´Â À̵鿡°Ô´Â ½ÉÈµÈ ÀÌÇØ¿Í Áö½ÄÀÇ È®ÀåÀ» µµ¿ï ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
1Àå : JPA ¼Ò°³
___1. JPA¶õ ¹«¾ùÀΰ¡?
___2. JPAÀÇ ¿ª»ç¿Í ±â¿ø
___3. JPA »ç¿ëÀÇ ÀÌÁ¡
___4. ÇÙ½É ¿ë¾î ¹× °³³ä
2Àå : JPA ȯ°æ ¼³Á¤
___1. ÀÚ¹Ù ¹× Maven/Gradle
___2. JPA °ø±ÞÀÚ ¼±ÅÃ
___3. ÇÁ·ÎÁ§Æ®¿¡¼ JPA ±¸¼º
___4. µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°á
3Àå : ÇÙ½É JPA °³³ä
___1. ¿£Æ¼Æ¼ ¹× Áö¼Ó¼º
___2. ¿£Æ¼Æ¼ °ü°è
___3. ±âº» Å° ¹× ID °ü¸®
___4. ¿£Æ¼Æ¼ ¼ö¸í ÁÖ±â ¹× Äݹé
4Àå : JPA ¾î³ëÅ×ÀÌ¼Ç ¹× ±¸¼º
___1. ÀϹÝÀûÀÎ JPA ¾î³ëÅ×À̼Ç
___2. JPA ±¸¼º »ç¿ëÀÚ ÁöÁ¤
___3. ±¸¼º¿¡ XML »ç¿ë
___4. ¾î³ëÅ×ÀÌ¼Ç »ç¿ë ¸ð¹ü »ç·Ê
5Àå : JPA·Î µ¥ÀÌÅÍ Äõ¸®
___1. JPQL(Java Persistence Query Language)
___2. Criteria API
___3. ³×ÀÌƼºê SQL Äõ¸®
___4. Äõ¸®ÀÇ ÆäÀÌÁö ¸Å±è ¹× Á¤·Ä
6Àå : Æ®·£Àè¼Ç °ü¸®
___1. Æ®·£Àè¼Ç ÀÌÇØ
___2. Java Transaction API(JTA) ´ë Resource Local °Å·¡
___3. ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ¸·Î Æ®·£Àè¼Ç °ü¸®
___4. ÄÁÅ×ÀÌ³Ê °ü¸® Æ®·£Àè¼Ç »ç¿ë
7Àå : °í±Þ JPA ±â´É
___1. JPA¿¡¼ ij½Ì
___2. ¹èÄ¡ ó¸®
___3. ½ºÇÁ¸µ°ú ÇÔ²² JPA »ç¿ë
___4. JPA¸¦ ´Ù¸¥ ÇÁ·¹ÀÓ¿öÅ©¿Í ÅëÇÕ
8Àå : JPA ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®
___1. JPA¸¦ »ç¿ëÇÑ ´ÜÀ§ Å×½ºÆ®
___2. EntityManager ¸ðÀÇ
___3. ÅëÇÕ Å×½ºÆ® Àü·«
___4. ¼º´É Å×½ºÆ® ¹× ÃÖÀûÈ
9Àå : ÀϹÝÀûÀÎ JPA ÇÔÁ¤ ¹× ¹®Á¦ ÇØ°á
___1. ¿À·ù ¹× ¿¹¿Ü ÀÌÇØ
___2. ¼º´É ¹®Á¦
___3. JPA Äõ¸® µð¹ö±ë
___4. ÀϹÝÀûÀÎ ½Ç¼ö¸¦ ÇÇÇϱâ À§ÇÑ ¸ð¹ü »ç·Ê
10Àå : »ç¿ë »ç·Ê ¹× Ãß°¡ ¸®¼Ò½º
___1. JPA °³³ä ¿ä¾à
___2. Ãß°¡ ÇнÀÀ» À§ÇÑ ¸®¼Ò½º
___3. JPAÀÇ ½ÇÁ¦ »ç¿ë »ç·Ê
___4. °í±Þ ÁÖÁ¦·Î Àüȯ(¿¹: Spring Data JPA, ¸¶ÀÌÅ©·Î¼ºñ½º)