현재 대부분의 현대적인 애플리케이션 개발시 객체 지향 언어를 사용함 (Java, Scala...)데이터를 저장하기 위해서 관계형 DB를 사용 (Oracle, MySQL,...)아직 데이터 베이스 세계의 헤게모니는 관계형 DB가 쥐고있음필요에 의해 NoSQL같은 것을 사
JPA란? Java Persistence API 자바 진영의 ORM 기술 표준 ORM이란? Object-relational mapping(객체 관계 매핑) 객체는 객체대로 설계 관계형 데이터베이스는 관계형 데이터베이스대로 설계 ORM 프레임워크가 중간에서 매핑 대중적
JPA는 특정 데이터베이스에 종속적이지 않도록 설계각각의 데이터베이스가 제공하는 SQL문법과 함수는 서로 조금씩 다르다 😫가변 문자 : MySQL은 VARCHAR, Oracle은 VARCHAR2문자열 자르는 함수 : SQL 표준은 SUBSTRING(), Oracle은
객체와 관계형 데이터베이스 매핑 (Object Relational Mapping)설계와 관련된 부분정적인 내용영속성 컨텍스트실제 JPA가 내부적으로 어떻게 동작하는가에 관련된 부분JPA 사용하기 위해선 먼저 엔티티 매니저 팩토리와 엔티티 매니저에 대해서 이해해야한다.웹
엔티티 매핑 소개 🧐 JPA에서 가장 중요한 2가지 객체와 관계형 데이터베이스 매핑 (Object-Relational Mapping) 영속성 컨텍스트 이번에는 바로 객체 관계형 DB 매핑에 대해 알아볼 것! 객체와 관계형 DB 매핑은 설계적인 것, 정적인 내용에
이번에 다루는 내용이 객체와 관계형 데이터베이스의 패러다임의 차이에서 오는 것 중에서 제일 어려운 내용.객체가 지향하는 패러다임과 관계형 데이터베이스가 지향하는 패러다임의 차이가 있기 때문에 둘 사이의 차이에 의한 극심한 어려움이 있다.객체와 테이블 연관관계의 차이를
연관관계 매핑시 고려사항 다중성 단방향, 양방향 연관관계 주인 다중성 다대일 : @ManyToOne 일대다 : @OneToMany 일대일 : @OneToOne 다대다 : @ManyToMany (실무에서 사용X) >JPA에 있는 애노테이션들은 다 DB랑 매핑하기 위해서
Member를 조회할 때 Team도 함께 조회해야할까?비즈니스 상황에 따라 다르다주로 회원만 출력하는 경우, 굳이 Team까지 같이 가져올 필요 없다.하지만, Member와 Team을 같이 출력하는 비즈니스 로직이 많을 경우, Member 따로 Team 따로 쿼리날려서
특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶을 때 사용하는 옵션예) 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장부모 저장할 때, em.persist(parent)연관된 컬렉션안의 자식 엔티티들 모두 다 함께 영속성 컨테스트에 저
@Entity로 정의하는 객체데이터가 변해도 식별자로 지속해서 추적 가능예) 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능int, Integer, String처럼 단순히 값으로 사용하는 자바 기본타입이나 객체식별자가 없고 값만 있으므로 변경시 추적 불가예)