¿£Æ¼Æ¼ »ó¼Ó ÁöÁ¤

¿£Æ¼Æ¼´Â ´Ù¸¥ ¿£Æ¼Æ¼ÀÇ Æ¯¼ºÀ» »ó¼ÓÇÒ ¼ö ÀÖ½À´Ï´Ù. »ó¼Ó¿¡ »ç¿ëÇÒ Æ¯Á¤ Àü·«À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿© ±âÁ¸ ¿£Æ¼Æ¼(@Entity)ÀÇ »ó¼Ó(@Inheritance)À» ÁöÁ¤ÇϽʽÿÀ.

  1. ÇÁ·ÎÁ§Æ® Ž»ö±â¿¡¼­ ¿£Æ¼Æ¼¸¦ ¼±ÅÃÇϽʽÿÀ.

  2. JPA ¼¼ºÎ»çÇ× º¸±â¿¡¼­ »ó¼Ó Á¤º¸¸¦ ¼±ÅÃÇϽʽÿÀ.

    »ó¼Ó ÁöÁ¤

    JPA ¼¼ºÎ»çÇ× º¸±â¿¡¼­ »ó¼Ó ¿µ¿ª ¼±ÅÃ
  3. Àü·« ¸ñ·Ï¿¡¼­ ´ÙÀ½ »ó¼Ó Àü·« Áß Çϳª¸¦ ¼±ÅÃÇϽʽÿÀ.

    • ´ÜÀÏ Å×À̺í(±âº»°ª)

    • °áÇÕ Å×À̺í

    • Ŭ·¡½º ´ç ÇϳªÀÇ Å×À̺í

  4. ´ÙÀ½ Å×À̺íÀ» »ç¿ëÇÏ¿© ÅÇÀÇ ³ª¸ÓÁö Çʵ带 ä¿ì½Ê½Ã¿À. ÀÚ¼¼ÇÑ ³»¿ëÀº "»ó¼Ó Á¤º¸"¸¦ ÂüÁ¶ÇϽʽÿÀ.

    Ư¼º ¼³¸í ±âº»°ª
    ½Äº°ÀÚ ¿­ ´ÜÀÏ ¶Ç´Â °áÇÕ »ó¼Ó Àü·«À» »ç¿ëÇÏ´Â °æ¿ì ½Äº°ÀÚ ¿­ÀÇ À̸§ÀÔ´Ï´Ù.

    ÀÌ Çʵå´Â @DiscriminatorColumn ¾î³ëÅ×À̼ǿ¡ ÇØ´çÇÕ´Ï´Ù.


    ½Äº°ÀÚ À¯Çü ½Äº°ÀÚ À¯ÇüÀ» Char ¶Ç´Â Integer·Î ¼³Á¤ÇϽʽÿÀ(±âº»°ª String ´ë½Å). ½Äº°ÀÚ °ªÀº ÀÌ À¯ÇüÀ» ÃæÁ·ÇØ¾ß ÇÕ´Ï´Ù. String
    ½Äº°ÀÚ °ª ÀÌ »ó¼Ó °èÃþ ±¸Á¶¿¡¼­ ¿£Æ¼Æ¼¸¦ ½Äº°ÇÏ´Â µ¥ »ç¿ëµÇ´Â ½Äº°ÀÚ °ªÀ» ÁöÁ¤ÇÕ´Ï´Ù. °ªÀº ÁöÁ¤µÈ ½Äº°ÀÚ À¯ÇüÀ» ÃæÁ·ÇØ¾ß ÇÕ´Ï´Ù.

    ÀÌ Çʵå´Â @DiscriminatorValue ¾î³ëÅ×À̼ǿ¡ ÇØ´çÇÕ´Ï´Ù.


    ±âº»°ª ´ëü ÀÌ Çʵ带 »ç¿ëÇÏ¿© »ç¿ëÀÚ Á¤ÀÇ 1Â÷ Ű °áÇÕ ¿­À» ÁöÁ¤ÇϽʽÿÀ.

    ÀÌ Çʵå´Â @PrimaryKeyJoinClumn ¾î³ëÅ×À̼ǿ¡ ÇØ´çÇÕ´Ï´Ù.



Eclipse´Â ¿£Æ¼Æ¼ Çʵ忡 ´ÙÀ½ ¾î³ëÅ×À̼ÇÀ» Ãß°¡ÇÕ´Ï´Ù.

@Inheritance(strategy=InheritanceType.<INHERITANCE_STRATEGY>)
@DiscriminatorColumn(name="<DISCRIMINATOR_COLUMN>",
    discriminatorType=<DISCRIMINATOR_TYPE>)
@DiscriminatorValue(value-"<DISCRIMINATOR_VALUE>")
@PrimaryKeyJoinColumn(name="<JOIN_COLUMN_NAME>", 
    referencedColumnName = "<REFERENCED_COLUMN_NAME>")

´ÙÀ½ ±×¸²Àº ¿©·¯ »ó¼Ó Àü·«À» ¼³¸íÇÕ´Ï´Ù.

´ÜÀÏ Å×ÀÌºí »ó¼Ó

ÀÌ ±×¸²Àº ´ÜÀÏ Å×À̺íÀÇ ¿£Æ¼Æ¼ »ó¼ÓÀ» ¼³¸íÇÕ´Ï´Ù.

°áÇÕ Å×ÀÌºí »ó¼Ó

ÀÌ ±×¸²Àº °áÇÕµÈ ¼­ºêŬ·¡½º »ó¼Ó Àü·«À» ¼³¸íÇÕ´Ï´Ù.

 

°ü·Ã ŽºÅ©

Ŭ·¡½º¿¡ Áö¼Ó¼º Ãß°¡

 

°ü·Ã °³³ä

Java Persistence ÀÌÇØ