본문 바로가기

JPA/JPA 소개

(3)
#03 JPA란 무엇인가? Index JPA 소개 왜 JPA를 사용해야 하는가? 정리 JPA 소개 JPA는 자바 진영의 ORM 기술 표준이다. JPA는 아래 그림처럼 애플리케이션과 JDBC 사이에서 동작한다. JPA가 자바 진영의 ORM 표준 이라고 했는데 그럼 ORM은 무엇일까?? 잘 모른다면 지난번(서버스터디) 포스팅중에 정리 해놓은 글이 있으니 참고!! ORM이란? 바로가기 #02 ORM 이란? 내가 조금 오해했던 부분은 ORM관련 기술이 최근에 나온게 아니라는 사실이다. 또한 자바 에서만 사용하는 것도 아니고 C#, Ruby 등 다른 객체지향 언어 에서도 사용하고 있다. 이처럼 객체지향 언 debaeloper.tistory.com 나는 어떤 기술이 어떤 배경에서 나왔는지 역사? 를 알고 사용하면 조금더 이해하기 쉽다고 생각..
#02 패러다임의 불일치 Index 상속 연관관계 객체 그래프 탐색 비교 정리 객체와 관계형 데이터베이스는 지향하는 목적이 서로 다르므로 둘의 기능과 표현 방법도 다르다. 이것을 둘의 페러다임 불일치 문제라고 한다. 그러므로 객체를 테이블 구조에 저장하는 데는 한계가 있다.이 한계점을 개발자가 중간에서 해결해야한다. 문제는 이런 페러다임 불일치 문제를 해결하는데 너무나 많은 시간을 소비해야 되기 때문이다. 이러한 문제점에 대해서 JPA는 해결책을 제시한다. 상속 객체와 DB를 가장 비슷하게 설계할 수 있는 부분은 아래와 같다. 객체 : 상속 DB모델링 : 슈퍼타입 서브타입 관계 하지만 우리는 상속관계의 클래스마다 각각 Insert 문을 작성해야 되는 일을 지금도 하고있다. (나한테는 너무나 당연한 것 처럼...) 이렇게 객체 지..
#01 SQL을 직접 다룰 때 발생하는 문제점 Index 반복 그리고 반복 SQL에 의존적인 개발 JPA와 문제 해결 반복 그리고 반복 개발자는 당연히 단순하게 반복되는 일이 있다면 이를 자동화 하거나 반복되지 않아도 되는 일이라면 반복을 피하는 방법을 선택 할 것이다. JPA뿐 아니라 우리는 매일매일 개발을 하면서 느끼고 있다. 더군다나 김영한님의 JPA책에서 이야기 하는 대형 SI프로젝트는 더더욱이 그럴 것 같다. 무수히 많은 화면을 개발하면서 수백개의 테이블에 해당하는 CRUD를 생성하고 혹시라도 설계가 변경되면 해당 테이블과 관계있는 소스를 모두 찾아서 변경을 해야만 하는 매우 귀찮은 일이 생기게 된다. SQL에 의존적인 개발 하나 예를 들어보자! 고객의 요청으로 화면의 고객 정보를 추가해서 보여달라는 요청이 들어왔다. 하지만 고객정보가 새로..