모두어리 도메인/레포지토리 코드를 짠 후, 간단한 테스트 케이스를 작성하던 중에 제목의 예외와 부딪혔다 도메인 간 양방향 매핑에서 CASCADE 설정을 바꿔주면 된다는 말이 많았는데, CASCADE와 관련 없는 단일 도메인 테스트 중 나타난 경우라 당황스러웠다 테스트 대상이었던 엔티티 클래스의 코드이다 @Entity @Getter @AllArgsConstructor @NoArgsConstructor public class Member{ @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; private String name; private String email; private String password; } 보시다시피 엔티티에 전이와 관련..

JPA를 공부하면서 개념과 동작 원리를 알기 전에 실전 예제부터 따라했다 그 때 JPA가 Mybatis와 달리 정말 마법처럼 모든 걸 해결해 줘서 대체 어떻게 동작하는 걸까 궁금했는데 예제를 따라한 후 개념을 습득하니 명쾌하게 이해가 되었다 처음에는 알아듣기 어려웠지만, 이해하고 나니 쉬웠는데, 나처럼 JPA를 입문하며 어려움을 겪을 사람들을 위해 그림과 코드로 정리해보았다 들어가기 전에 본 포스팅은 김영한 님의 자바 ORM 표준 JPA 프로그래밍 - 기본편을 수강하며 공부 정리로 작성한 포스팅입니다. 해당 강의가 명강의이니 JPA 공부를 시작하시는 분들에게 강력 추천합니다. www.inflearn.com/course/ORM-JPA-Basic 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | ..

JPA 기초 1 기본적인 객체-테이블 매핑과 동작을 확인한다 데이터베이스는 H2를 사용하였다 연습을 위해 간단한 회원 정보를 담을 MEMBER 테이블을 만든다 테이블에 들어갈 내용과 생성 쿼리문은 아래와 같다 컬럼명 데이터 타입 PK/FK 내용 ID BIGINT PK 회원 고유 넘버 NAME VARCHAR(255) - 회원 이름 MSG VARCHAR(255) - 회원 한마디 create table MEMBER ( id bigint not null, name varchar(255), msg varchar(255), primary key (id) ); 테이블에 대응되는 클래스를 작성한다 @Entity : JPA가 관리할 엔티티 객체임을 선언 @Id : JPA의 객체 식별 기본자이자 테이블의 PK를 지정 @E..