∴ 객체 구조를 테이블 구조에 저장하는 데는 한계가 있다.
객체는 상속이라는 기능을 가지고 있지만 테이블은 상속이라는 기능이 없다. DB 모델링의 슈퍼타입 서브타입 관계를 이용해 유사한 형태로 테이블을 설계할 수는 있다.
예를 들어 class B extends A 객체를 저장하려면 B 객체를 분해해서 두개의 SQL을 만들어야 한다. INSERT INTO A..., INSERT INTO B...
자바 컬렉션에 보관한다면 아래와 같이 사용하면 된다.
list.add(a);list.add(b);B b = list.get(bID);
개발자는 자바 컬렉션에 객체를 저장하듯이 JPA에게 객체를 저장하고 조회하면 된다.
jpa.persist(b);String bID = "id100";B b = jpa.find(B.class, bID); // 조인 후 결과 반환
패러다임의 불일치는 객체지향 모델링을 거의 포기하게 만들 정도로 극복하기 어렵다.

Member 객체는 Member.team 필드에 Team 객체의 참조를 보관해서 Team 객체와 관계를 맺는다.