
해당 글은 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의를 수강하고 정리한 게시글입니다. 다양한 연관관계 매핑 연관관계 매핑시 고려사항 다중성 : 다대일, 일대다, 일대일, 다대다(실무에서 사용X) 단방향, 양방향 테이블 : 외래 키 하나로 양쪽 조인 가능, 사실 방향이라는 개념이 없음 객체 : 참조용 필드가 있는 쪽으로만 참조 가능 한쪽만 참조하면 단방향 양쪽이 서로 참조하면 양방향(그냥 단뱡향이 2개인것 뿐) 연관관계의 주인 테이블은 외래 키 하나로 두 테이블이 연관관계 맺음 객체 양방향 관계는 참조는 2군데 객체 양방향 관계는 참조가 2군데 있음. 둘중 테이블의 외래 키를 관리할 곳을 지정 연관관계의 주인 : 외래 키를 관리하는 참조 주인의 반대편 : 외래 키에 영향을..

해당 글은 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의를 수강하고 정리한 게시글입니다. 엔티티 매핑 객체와 테이블 매핑: @Entity, @Table 필드와 컬럼 매핑: @Column 기본 키 매핑: @Id 연관관계 매핑(다음글에서 다룰예정): @ManyToOne, @JoinColumn 객체와 테이블 매핑 - @Entity :@Entity가 붙은 클래스는 JPA가 관리하는 엔티티 (JPA를 사용하여 테이블과 매핑할 클래스는 @Entity 필수 주의기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자) final 클래스, enum, interface, inner 클래스 사용 x 저장할 필드에 final 사용 x - @Table : 엔티티와 매핑할 테이..

해당 글은 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의를 수강하고 정리한 게시글입니다. JPA에서 가장 중요한 2가지 객체와 관계형 데이터베이스 매핑 영속성 컨텍스트 영속성 컨텍스트 JPA를 이해하는데 가장 중요한 용어 "엔티티를 영구 저장하는 환경""이라는 뜻 사용하는 방법 : EntityManager.persist(entity) 영속성 컨텍스트는 논리적인 개념(눈에 보이지 않음), 엔티티 매니저를 통해서 영속성 컨텍스트에 접근!! [엔티티 매니저 팩토리와 엔티티 매니저] [Java SE(J2SE) 환경] 엔티티 매니저와 영속성 컨텍스트가 1:1 Java SE는 자바 스탠다드 에디션으로 가장 보편적으로 쓰이는 자바 API집합체. 일반 자바 프로그램 개발을 위한 용도 [J..

프록시란? : 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리켜 ‘프록시’, 그 중계 기능을 하는 것을 프록시 서버라고 부른다. 프록시 서버: 클라이언트 가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템 이나 응용 프로그램을 가리킨다. 이점 : 프록시 서버 중 일부는 프록시 서버에 요청된 내용들을 캐시 를 이용하여 저장해 둔다. 이렇게 캐시를 해 두고 난 후에, 캐시 안에 있는 정보를 요구하는 요청에 대해서는 원격 서버에 접속하여 데이터를 가져올 필요가 없게 됨으로써 전송 시간을 절약할 수 있게 됨과 동시에 불필요하게 외부와의 연결을 하지 않아도 된다는 장점을 갖게 된다. 또한 외부와의 트래픽을 줄이게 됨으로써 네트워크 병목 현상을 방지하는 ..

해당 글은 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의를 수강하고 정리한 게시글입니다. JPA 설정하기 강의에서 사용하는데로 자바 8이상(11사용), 메이븐으로 설정후 생성 라이브러리 추가 [pom.xml] 4.0.0 hellojpa jpql 1.0-SNAPSHOT 11 11 org.hibernate hibernate-entitymanager 5.4.22.Final com.h2database h2 1.4.200 javax.xml.bind jaxb-api 2.3.0 [persistence.xml] JPA 설정 파일 프로젝트의 resources 밑에 "META-INF" Directory 생성 후 persistence.xml로 파일생성 persistence-unit name으로..

해당 글은 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의를 수강하고 정리한 게시글입니다. JPA란? Java Persistence API 자바 진영의 ORM 기술 표준 [ORM]이란? - Object-relational mapping(객체 관계 매핑) - 객체는 객체대로 설계 - 관계형 데이터베이스는 관계형 데이터베이스대로 설계 - ORM 프레임워크가 중간에서 매핑 - 대중적인 언어에는 대부분 ORM 기술이 존재 JPA는 애플리케이션과 JDBC 사이에서 동작 JPA 동작 [저장] [조회] JPA 사용목적 관계형 데이터베이스에서 무한 반복, 지루한 코드(SQL에 의존적인 개발을 피하기 어려움), 객체와 관계형 데이터베이스의 차이를 극복하고자 나온 기술로 JPA를 사용하면 다음..

Entity란? DB의 테이블에 존재하는 Column들을 필드로 가지는 객체를 의미. Enitity는 DB의 테이블과 1대 1로 대응 되며, Entity클래스는 다른 클래스를 상속받거나 인터페이스의 구현체여서는 안된다. @Entity public class Book { private String title; private String author; } DAO(데이터 접근 객체)란? DAO는 Data Access Object의 약자로, 실제로 DB에 접근하는 객체이다. DAO는 프로젝트의 서비스 모델과 실제 데이터베이스를 연결하는 역할을 하며, JPA에서는 DB에 데이터를 CRUD 하는 Repository 객체들이 DAO라고 볼 수 있다. DTO(데이터 전송 객체)란? DTO는 Data Transfer O..
추상클래스와 인터페이스의 의미 추상클래스는 추상 메서드를 선언하여 상속을 통해 자손 클래스에서 완성하도록 하는 클래스...미완성 설계도라고 할 수 있다. class 앞에 "abstract" 예약어를 사용하여 상속을 통해 구현해야한다는 것을 알려주고 선언부만 작성하는 추상메서드를 선언 할 수 있다. abstract class classA { public abstract void methodA(); } 인터페이스는 추상클래스가 미완성 설계도라면 인터페이스는 기본 설계도라고 할 수 있다. 추상클래스처럼 다른 클래스를 작성하는데 도움을 주는 목적으로 사용하고, 클래스와 다르게 다중상속(구현)이 가능 interface interfaceA { public static final CONSTA = 10; public ..