JPA 프로그래밍 4

Hello JPA - 프로젝트 생성

데이터베이스 방언 각각의 DB가 제공하는 SQL문법과 함수에는 차이가 존재한다. MySQL과 Oracle의 가변문자가 다르고, 문자열 자르는 함수 등이 그렇다. 이 때 SQL 표준을 지키지 않는 특정 DB만의 고유한 기능을 DB방언이라고 한다. JPA는 이런 특정 DB에 종속되지 않는다. 따라서 별도 Dialect 설정을 해주면 JPA가 DBMS에 맞는 쿼리를 직접 작성하고 실행해준다. https://www.inflearn.com/course/ORM-JPA-Basic/dashboard 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를..

JPA 소개

ORM( Object Relational Mapping )이란 객체 관계 매핑 객체 ↔ RDB 간 패러다임의 불일치를 해결할 수 있다. 객체는 객체대로, RDB는 RDB대로 설계 한다. 그 과정을 프레임워크가 중간에서 매핑한다. JPA는 자바 진영의 ORM 표준이다. 저장 프로세스 Entity 객체 저장을 요청한다. JPA가 Entity 에 대해서 분석하고 INSERT SQL문까지 생성해준다. JDBC API를 사용해 INSERT 쿼리를 날려 DB에 저장 패러다임 불일치 해결 조회 프로세스 id를 통해 Entity 객체를 찾아달라고 요청한다 JPA가 SELECT SQL문을 생성해준다. JDBC API를 사용한다. ResultSet을 매핑해준다. Entity 객체를 반환한다. 패러다임 불일치 해결 JPA ..

SQL 중심적인 개발의 문제점

객체를 RDB에 저장하고 관리하는 요즘 이를 보관하고 관리하기 위해서는 SQL을 알아야 한다. 무한반복, 지루한 코드.. 자바 객체를 SQL로 바꾸고 SQL을 자바 객체로 바꾸고를 무한 반복 새로운 필드를 추가하는 등 변경사항이 생기면 또 쿼리문을 다 고쳐야 함 즉, SQL에 의존하는 개발을 할 수 밖에 없게 된다. 패러다임의 불일치 객체와 RDB의 테이블이 완전히 일치하지 않는다. 객체를 RDB에 저장하려면 객체데이터를 SQL로 바꾼다 SQL로 RDB에 전달한다 이 과정을 개발자가 한다. (SQL mapper) 객체와 RDB의 차이 4가지 상속 연관관계 데이터 타입 데이터 식별방법 상속 Item 클래스를 상속받는 Album 클래스가 있다고 가정하자. 객체에는 상속관계가 있다. DB 테이블에는 상속이라는..

강좌 소개

JPA(Java Persistence API) 발전 순서 순서 JDBC jdbcTemplete, MyBatis JPA jdbcTemplete, MyBatis 까지는 개발자가 직접 SQL문을 작성해야 했지만 JPA로 인해 그 과정조차 한 줄로 생략 가능하게 된다. JPA가 실무에서 어려운 이유 SQL도 안 짜도 되어서 편해 보이지만, 실제 실무의 경우 수십 개 이상의 복잡한 객체와 테이블 복잡하게 얼혀서 사용되기 때문에 어렵다. 앞으로 강의를 통해 배울 내용 객체와 테이블 제대로 설계, 매핑하는 방법 기본 키와 외래 키 매핑 결국 어떠한 복잡한 시스템도 JPA로 설계 가능하도록 목표 - JPA 내부 동작방식 이해 JPA 내부 동작 방식을 이해하지 못하고 사용하면 디버깅 오래ㅐ 걸리고 장애상황 대처 불가능 ..