본문 바로가기

JPA

(43)
JPA로 CRUD해보기(0) 프로젝트 생성 툴은 Intellij를 사용하고, JAVA는 모두 깔아놨을 거라고 믿는다. (적당히 1.8 이상 아무거나면 괜찮다.) 의존성 관리 툴은 Maven을 사용할 것이다. H2 데이터베이스는 H2를 사용한다. www.h2database.com/으로 가서 적당히 설치해준다. 처음에 접속이 잘 안 되면 url에서 뒤에 key값은 유지시키고 ip를 localhost로 고쳐준다. 그리고 파일 최초 생성 시에만 파일생성모드로 접근해야 한다. 이를 위해 JDBC URL을 'jdbc:h2:DB파일생성경로'로 설정한다. 파일 생성이 확인된 후에는 tcp를 통해서 네트워크 모드로 접근한다 이를 위해 JDBC URL을 ' jdbc:h2:tcp://localhost/DB파일생성경로'로 설정한다. DB 파일 생성경로로 가보면 db관..
JPA란? JPA: Java Persistence API의 약자로 자바 진영의 ORM 표준 기술이다. 또한 JPA는 인터페이스의 모음이다. 이 인터페이스 모음들을 구현한 구현체는 하이버네이트, EclipseLink, DataNucleus 등이 있는데, 구현체로는 거의 하이버네이트를 사용한다. ORM이란? Object-relational mapping의 약자이다. 객체는 객체대로 설계하고 관계형 데이터베이스는 관계형 데이터베이스대로 설계하면 ORM 프레임워크는 중간에서 객체와 데이터베이스를 매핑해준다. JPA는 왜 써야 될까? SQL 중심적인 개발에서 객체 중심으로 개발이 가능해진다. SQL은 JPA가 알아서 처리해준다. 우리는 객체만 신경써서 설계하면 된다. 생산성이 높아진다. // JPA로 CRUD 해보기 jpa..
SQL 중심적인 개발의 문제점 지금 웹사이트의 99%는 객체를 통하여 관계형 DB를 관리한다고 해도 과언이 아니라고 생각한다. 이런 시대의 흐름 속에서 개발자들은 SQL 중심적인 개발을 피할 수 없었다. 왜냐하면 DB는 SQL밖에 알아듣지 못하기 때문이었다. 그렇다면 이 SQL중심적인 개발은 우리 개발자들에게 좋은 것이었을까? SQL중심적인 개발의 문제점 1. 지루한 코드가 무한반복된다 뭘 만들든 자바 객체를 SQL로, SQL을 자바객체로 변환시키기 위해 코드에서는 CRUD를 위한 SQL이 무한반복된다. 다음과 같은 Member 클래스가 있다. public class Member { private String memberId; private String pw; private String name; private String tel; ..