SQL 중심적인 개발의 문제점 애플리케이션 개발 -> JAVA(객체) 데이터베이스 -> SQL(관계형 DB) 객체를 관계형 DB에 관리 SQL 중심적인 개발의 문제점 > 다양한 DB가 있지만 현실적인 대안으로 관계형DB를 이용하기 때문에 sql에 의존적인 개발을 피
JPA소개 JPA? Java Persistence Api 자바 진영의 ORM 기술 표준 ORM? Object-relational mapping(객체 관계 매핑) -> 객체와 관계형db를 중간에서 패러다임의 불일치를 해결해주는 기술 >자바 어플리케이션이 db와 통신
http://www.h2database.com/적은 용량, 웹콘솔환경, 시퀀스,AUTO INCREMENT들을 지원하기때문에 실습용 DB로 사용하기 좋다.자바8이상메이븐 설정groupId : jpa-basicartifactId : ex1-hello-jpavers
JPA는 어떻게 동작할까? > persistence 클래스에서 시작 xml 설정정보를 읽음 entityManagerFactory클래스를 만듦 entityManagerFactory클래스가 필요할때마다 EntityManager를 만들어서 작동 java->hellojpa
준영속 상태 em.find()로 조회하였을때 1차캐시에 없어서 db에서 엔티티를 가져와서 1차캐시에 저장되면 영속상태가 된다. 영속상태의 엔티티가 영속성 컨텍스트에서 분리된 상태를 준영속 상태 조회만 되는것을 볼수 있음 준영속 상태로 만드는 방법 > 영속성 컨
jpa에서 가장 중요한 2가지는 다음과 같다. 영속성 컨텍스트와 같은 jpa의 내부 매커니즘 객체와 관계형 데이터베이스를 매핑하는 설계적 측면 이번편에서는 2번째 객채와 관계형 데이터베이스를 매핑하는 부분에 대해 살펴보도록 하겠습니다. 엔티티 매핑 소개 > 객체와
요구사항 분석과 기본 매핑 요구사항 분석 회원은 상품을 주문할 수 있다. 주문 시 여러 종류의 상품을 선택할 수 있다. 도메인 모델 분석 회원과 주문의 관계 : 회원은 여러번 주문할 수 있다.(일대다) 주문과 상품의 관계 : 주문할 때 여러 상품을 선택할 수 있다.
연관관계를 좀 더 객체지향스럽게 설계하는 것에 대해 알아보게된다. 패러다임 불일치에서의 어려움이 있다. 목표 객체와 테이블 연관관계의 차이를 이해 객체의 참조와 테이블의 외래키를 매핑 > 용어 >- 방향 : 단방향, 양방향 >- 다중성 : 다대일, 일대다, 일대일,
테이블 구조 Member는 Order를 여러개 할수 있고, Order와 Item은 다대다 관계이며 Order_Item이라는 중간테이블을 만들어 사용하는 관계 객체 구조로 변경 일대다, 다대다 등 연관관계가 정리되어있는데, 연관관계에서 우선 중요한것은 단방향 연결을
연관관계 매핑시 고려사항 3가지 다중성 : 관계의 종류(일대다, 다대다.. 등등) jpa의 다중성은 전부 db와 매핑하기 위한것으로 데이터베이스의 다중성을 기준으로 하면 된다. 애매할때는 반대를 생각하면된다. 왜냐면 대칭성이 있기 때문에(일대다의 반대는 다대일..) 단
상속관계 매핑 객체에는 상속관계가 존재하지만 관계형 DB에는 상속관계가 없다.(비슷한거는있지만) 그나마 관계형 디비에서 상속관계와 비슷한것은 슈퍼타입, 서브타입 관계라는 모델링 기법이 비슷하다. 상속 관계매핑 : 객체의 상속과 구조와 db의 슈퍼타입 서브타입 관계를 매
프록시 왜사용해야할까?? Member를 조회할때 Team도 함께 조회해야할까? 다음과 같은 연관관계가 있을때 member객체만 필요할수도 있고, member와 team객체가 둘다 필요할수도 있다. 코드로 확인해보자 member객체와 team객체가 모두 필요한 경우면
값타입 jpa에서 타입은 크게 엔티티와 값타입으로 분류된다. 엔티티 타입 @Entity로 정의되는 객체 데이터가 변해도 식별자로 추적가능 > 엔티티 안의 필드 값이 변해도, 계속하여 해당 엔티티를 추적하여 값을 확인할수 있다 값타입 int, Integer, Strin
JPQL을 통해 객체친화적으로 코드를 짤수 있다는 것을 알았다. 특히 별칭으로 참조하여 쿼리를 편리하게 짤수 있다는 큰 장점이 있었다. 이번 글에서는 JPQL의 경로표현식에 대해 자세히 알아보도록 하자! 경로 표현식 경로 표현식은 .(점)을 찍어 객체 그래프를 탐색하는
엔티티 프로젝션하면 여러개의 엔티티가 있어도 다 영속성 관리가 된다 JPQL jpql은 "Java Persistence Query Language"의 줄임말로 객체지향 쿼리 언어이다. 따라서 데이터베이스의 테이블을 대상으로 쿼리 하는것이 아닌 엔티티 객체를 대상으로