JPA에서 공부하면서 곰곰히 생각해봤다. 내가 과연 어떻게 테이블을 작성했는지... 또, 마이바티스를 어떻게 이용했는지 생각해봤다. 1년전에 보이지 않는 내용들이 점차 눈에 들어오기 시작했다. 가장 눈에 띄이는건 JOIN관계다. 애초에 테이블을 만들때 JOIN을 사용하지 않는다. SQL은 반드시 외래키를 사용해야 된다는 제약 사항이 전혀 없다. 오히려 외래키를 사용하지 않고 DB를 구축하기도 한다. 그래서 JOIN문을 사용할때 외래키를 사용하지 않고 쿼리 작성하는것이 가능하다. 신기하게도? JPA는 JOIN문을 쿼리 생성하기 전에 미리 만들어 둔다. 무조건 JOIN문을 사용해야 되는것은 아니지만, 이러한 점이 SQL을 작성할때와의 차이점이라 생각이 든다. 그렇다면 어째서 JPA는 이러한 전략을 택했을까?..