
JPA 이전의 시대와 JPA가 도입된 배경, JPA가 무엇인가부터 알아보자. 기존 과거의 코드들은 개발자가 CRUD를 비롯한 로직에서 DB에 접근, 수정 등의 작업을 수행하려면 직접 SQL문을 작성해서 가져와야 했다.이런 방식은 Entity를 수정할 때, 해당 Enti

JPA 설정 파일은 /META-INF/persistence.xml에 위치해있다. jakarta.persistence로 시작하면 JPA 표준 속성, hibernate로 시작하면 하이버네이트 전용 속성이라고 생각하면 된다. 그러나, Spring에서는 추후에 build.gr

실제 JPA가 어떻게 동작하는 지를 이해할 때 중요한 개념이다. 여기에도 이미 기술한 바 있다. - https://velog.io/@5hseok/%EC%9D%B8%ED%94%84%EB%9F%B0%EC%9B%8C%EB%B0%8D%EC%97%85%EC%8A%A4%

이것처럼 DDL을 어떻게 할 지 설정하는 부분이다.스프링에서는 application.properties에 spring.jpa.hibernate.ddl-auto에서 설정 가능하다. DDL(Data Defination Language) : 데이터베이스를 정의하는 언어이며,

예를 들어, 회원(Member)와 주문(Order), 상품(Item)의 관계가 있다고 해보자. 회원은 여러 개의 주문을 할 수 있고, 주문도 여러 상품에 대해 나갈 수 있으며, 상품도 여러 번 주문될 수 있다. 테이블에서는 외래 키를 사용해서 매핑한다. 이를 객체에서도

다중성단뱡항, 양방향연관관계의 주인 여기서 2,3번은 지난번 포스트에서 다뤘기 때문에 넘어가고 다중성에 대해 자세히 다뤄볼 예정이다.• 다대일: @ManyToOne• 일대다: @OneToMany• 일대일: @OneToOne• 다대다: @ManyToMany이는 다대일 단

상속관계는 관계형 데이터베이스에서는 없는 개념이다. 그나마 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사하기 때문에 JPA는 이 모델링으로 상속 관계를 매핑한다. 객체의 상속 <-> DB의 슈퍼타입 서브타입 관계 슈퍼타입 서브타입은 논리 모델로써 실제

Member 객체가 Team 객체에 의존하고 있다고 해보자. 이때, Member를 조회한다면 Team도 함께 조회해야 할까? Member를 조회해서 Team을 사용하지 않을 경우에도 Team 객체를 조회하는 것은 비효율적인 방법이다. 기존에는 em.find를 하면 해당

특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶다면 사용한다. 예를 들어, 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장하거나, 부모 엔티티를 지우면 자식 엔티티도 지워지는 것을 기대하는 경우를 말한다. Cascade를 사용하는 경우