JPA/JPA 기본 52

2. 객체지향과 관계형DB

우리는 객체지향 언어를 이용해 객체를 관계형 DB에 저장한다. 근데, 관계형 DB에 저장하려면 SQL을 작성해야 한다. 이것이 SQL 중심적 개발의 문제점 객체 관계형 DB 에서 개발자가 SQL문을 작성하며 Mapper 역할을 해줘야 함. 기능마다, 다루는 데이터마다 SQL문을 다 작성 해줘야 함.. 또 SQL문 이렇게 다 작성했는데 갑자기 데이터 하나를 더 추가시켜달라고 하면.. 대부분 관계형 DB를 써야 하기에, 객체와 관계형 DB 사이의 패러다임 불일치가 발생한다. 1. 상속 2. 연관 관계 3. 데이터 타입 4. 데이터 식별 방법 1. 상속 DB에는 상속 관계 라는 것이 없다. 가장 비슷한 것은 슈퍼타입, 서브 타입의 관계. 기법중의 하나임. 부모같은 테이블을 만들고, 자식같은 테이블을 만듦. 필..

JPA/JPA 기본 2023.10.18

1. JPA

과거에는 DB와 소통하려면 SQL을 직접 작성해야 했음. 근데 JPA는 기본적인 것들은 SQL조차 작성할 필요가 없음. 우리가 그냥 메소드 쓰면 알아서 SQL 작성해주고 DB에 날려줌. JPA는 단순해 보인다. 수십줄의 코드가 한두줄로 되고, SQL도 자동으로 날려준다. 근데 어려워 한다. 이유는? 1. 객체와 테이블을 올바르게 맵핑하고 설계하는 방법을 모른다. - 기본적인 매핑, 설계 - 기본키와 외래 키 매핑 - 1:N, N:1, 1:1, N:M 매핑 등 2. JPA의 내부 동작 방식을 모른다. - JPA가 어떤 SQL을 만드는 지. - JPA가 언제 SQL을 DB에 날리는 지 그래서 JPA가 안정적인지, 문제없는 시스템인지? 네카쿠배 등 조단위 거래 금액이 넘어가는 다양한 서비스에서 사용, 검증됨.

JPA/JPA 기본 2023.10.18