본문 바로가기
728x90
반응형

Dev/JPA35

[JPA] 엔티티 매핑 엔티티 매핑 객체와 테이블 매핑 : @Entity, @Table 필드와 컬럼 매핑 : @Column 기본 키 매핑 : @Id 연관관계 매핑 : @ManyToOne, @JoinColumn 객체와 테이블 매핑 @Entity JPA가 관리하는 엔티티로 JPA를 이용해서 테이블과 매핑할 클래스에 어노테이션을 필수로 붙여준다. 특징 (1) 기본생성자 필수(파라미터가 없는 public or protected 생성자) (2) final 클래스, enum, interface, inner 클래스에는 사용 불가 (3) 저장할 필드에 final 사용 불가 속성으로 name 이 있으며 JPA에서 사용할 엔티티 이름을 지정하며, 기본값은 클래스 이름이고 같은 클래스 이름이 없으면 가급적 기본값을 사용한다. @Table 엔티티와.. 2021. 8. 2.
[JPA] 영속성 관리 JPA에서 가장 중요한 2가지 객체와 관계형 데이터베이스 매핑 (Object Relational Mapping) 영속성 컨텍스트 영속성 컨텍스트 JPA를 이해하는데 가장 중요한 용어 "엔티티를 영구 저장하는 환경" 이라는 뜻 EntityManager.persist(entity); persist() 는 DB에 저장한다는 것이 아니라 entity를 영속성 컨텍스트에 저장하는 것 논리적인 개념으로 눈에 보이지 않는다. EntityManager를 통해 영속성 컨텍스트에 접근 ※ 환경별 영속성 컨텍스트 (1) J2SE 환경 EntityManager와 영속성 컨텍스트가 1:1 (2) J2EE, 스프링 프레임워크 같은 컨테이너 환경 EntityManager와 영속성 컨텍스트가 N:1 엔티티의 생명주기 생명주기 한눈에.. 2021. 7. 20.
[JPA] JPA 시작하기 실습을 통해 JPA를 학습해보자 개발환경 IDE : Visual Studio Code Java : Open JDK 11 Maven : 3.8.1 Database : H2 (1.4.199) Hello JPA 프로젝트 생성 & 설정 H2 Database 설치 & 실행 (1) http://www.h2database.com/ 접속 후 All Platforms 로 다운. (1.4.199 버전은 All Downloads 로 들어가면 있다.) (2) 압축 해제 후 bin/h2.bat 실행 (3) 웹 화면에서 드라이버(jdbc:h2:tcp://localhost/~/test) 확인 후 연결 ※ 웹 화면은 localhost:8082 또는 127.0.0.1:8082 로 접속 가능 H2 Database 장점 웹용 쿼리툴 제공.. 2021. 7. 17.
[JPA] JPA 소개 JPA를 소개하기 앞서 JPA가 나오게 된 이유에 대해 알아보자. SQL 중심적인 개발의 문제점 1. 데이터베이스 세계의 헤게모니는 아직까지도 관계형 DB(Oracle, MySQL ...)가 가지고 있다. 2. 애플리케이션 개발 시 무한반복, 지루한 코드 (CRUD, Java 객체 -> SQL / SQL -> Java 객체) 문제점 발생 예를들어 객체에 필드 추가 시 해당 객체를 사용하는 SQL에 하나씩 다 추가가 필요하여 SQL에 의존적인 개발을 피하기 어렵다. 3. 객체와 관계형 데이터베이스의 차이 상속 : 객체에는 상속관계가 존재하지만 관계형 DB에는 상속관계가 없고 그나마 유사한 Table 슈퍼타입 서브타입 관계라는 논리모델이 존재한다. 상속관계 객체 제어는 부모, 자식 객체를 생성하여 저장, 조.. 2021. 7. 13.
[JPA] 강좌 소개 강좌명 자바 ORM 표준 JPA 프로그래밍 - 기본편 강좌 목표 JPA 내부 동작방식 객체와 관계형 데이터베이스를 올바르게 맵핑하는 방법 위 2가지에 초점을 맞춰 기초를 탄탄하게 하여 실무에서 JPA 사용 시 두려움 없이 사용할 수 있도록 하는 것 커리큘럼 1. JPA소개 & 시작 2. 영속성 관리 - 내부 동작 방식 3. 엔티티 맵핑 4. 연관관계 맵핑 기초 5. 다양한 연관관계 맵핑 6. 고급 맵핑 7. 프록시와 연관관계 관리 8. 값 타입 9. 객체지향 쿼리 언어 (기본, 중급 문법) 참고 https://www.inflearn.com/course/ORM-JPA-Basic# 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이.. 2021. 7. 13.