RDB는 외래키를 사용해 테이블 사이의 연관관계를 나타냅니다. 이 외래키는 RDB를 RDB('관계형' 데이터베이스)로 만들어 주는 아주 중요한 속성이죠. 따라서 JPA는 엔티티 사이에 연관관계를 매핑하는 방법을 제공합니다. 하지만 객체와 테이블의 차이로 인해 연관관계를 표현하는 방식 또한 차이가 있고 조금 복잡해지는 부분이 있는 것 같습니다. 테이블은 외래키로 연관관계를 맺습니다. 외래키 하나만으로 두 테이블 사이의 관계가 표현됩니다. 하지만 객체 사이의 관계는 테이블처럼 값으로 표현되지 않습니다. (물론 할 수는 있지만 oop스럽지 않죠) 객체 사이의 관계는 참조로 표현되죠. 따라서 JPA는 적절한 어노테이션만 달아준다면 참조로 표현된 객체 사이의 관계를 테이블 사이의 관계로 매핑해 줍니다. 관계 설정..
JPA는 자바 ORM기술의 표준이고 ORM(Object Relational Mapping)은 이름 그대로 객체과 관계형 데이터 베이스를 연결해 주는 기술입니다. 따라서 JPA는 class와 table을 연결해주는 기능을 제공하고 있는데 이는 여러가지 어노테이션으로 어렵지 않게 이용할 수 있습니다. @Entity class에 @Entity을 붙임으로서 JPA가 관리하는 엔티티 클래스라는 것을 명시해줄 수 있습니다. 테이블과 매핑될 클래스에는 필수로 붙여줘야 합니다. 주의 할 점은 다음과 같습니다. public 혹은 protected의 접근 제한자를 가진 기본생성자가 필하다는 것 final 클래스, enum, inner, interface 클래스에는 상용할 수 없다는 것 final이 붙은 필드는 테이블에 저..

JPA(Java Persistence API)란 The Java Persistence API (JPA) is a Java specification for accessing, persisting, and managing data between Java objects / classes and a relational database. JPA is now considered the standard industry approach for Object to Relational Mapping (ORM) in the Java Industry. JPA(Java Persistence API)는 Java 객체/클래스와 관계형 데이터베이스 간의 데이터 액세스, 유지 및 관리를 위한 Java 스펙이다. JPA는 이제 Java ..