JPA

Programming/Java

[JPA] 패러다임 불일치 - 우린 달라 달라

자바는 객체지향 언어로 객체 중심적으로 개발하며, 데이터베이스는 데이터를 저장하기 위해 질의어인 SQL을 사용하여 테이블 형태로 데이터를 관리한다. 객체와 테이블은 듣기만 해도 서로 다른 느낌이 들지만 구체적으로 어떤 부분에서 차이가 나는지 설명을 못한다. 그래서 이번에는 이 두 사이의 패러다임 불일치에 대해 이야기하고 JPA를 왜 사용해야 하는지까지 정리해보고자 한다. 패러다임 불일치 - JPA에게 맡기자 ▶️ 상속 Item 객체를 상속받는 Album, Movie, Book 객체를 도식화해서 관계를 나타내보았다. 데이터베이스에서도 Table 슈퍼타입 서브타입 관계로 테이블을 설계할 수 있다. 하지만 이는 객체 상속과 유사한 형태일 뿐이지 같다고 할 수 없다. ITEM은 DTYPE을 통해 앨범과 영화, ..

Programming/Java

[JPA] JPA 시작 - SQL 잘 작성하는 개발자

개발자 ≒ SQL Mapper 자바에서는 객체를 다루고 관계형 데이터베이스는 테이블을 다루게 된다. 객체를 SQL로 변환해서 RDB에 데이터를 관리한다. 그럼, 데이터베이스 연동을 위해 JDBC나 MyBatis를 사용하는 데, 이 두 가지 모두 SQL query를 직접 작성해서 데이터베이스에 넘겨줘야 한다. 이런 경우 어떤 불편한 점들이 있는지 확인해 보자. 클래스에 새 필드 변수가 추가 또는 삭제 되는 경우 회원 클래스에 memberId, name 두 필드 변수가 있다. 여기서 다른 필드 변수 email이 추가되거나, 변수 name이 삭제되는 경우 아래 query가 수정이 필요해진다. 수정 횟수도 많겠지만, Mybatis는 XML 파일에서 SQL 쿼리를 작성해서 컴파일 전 오류를 잡지 못한다. 그래서 ..

seandoesdev
'JPA' 태그의 글 목록