Spring/JPA 2

@Entity 설정 Annotation 정리

혼자 인터넷에서 뒤져가면서 내 공부용 미니 프로젝트를 위한 스키마를 생성하고 테이블들의 연관관계를 Java Persistence API를 이용해서 작업중이다. 근데 작업하는 와중에 많은 기능이 있었다. 문제는 이것을 잘 사용해야 하는데 이번 기회에 다시 집고 넘어가려고 한다. 필자는 다음과 같은 ERD를 이용해서 Mapping을 시도했다. 1. @MappedSuperclass vs @Embedded & @Embeddable @MapppedSuperClass는 공통 매핑 정보가 필요할 때 사용한다. 쇼핑몰에서 우리가 물건을 구매할 때 회원 가입시 입력한 기본 주소를 그냥 쓸 수도 있지만 여러곳에서 물건을 수령할 수도 있다. 즉, 실제로 저장한 주소들과 내가 받을 곳의 주소들은 일치할 수도, 다를 수도 있다..

Spring/JPA 2022.03.17

DB 개념 + JPA concurrency control

필자는 금일 전화면접을 보았다. 여기서 질문을 몇개 하셨는데 대답을 잘 못했다!(슬픔...) 하지만 괜찮다.... 절망만 하지 말고 이에 대한 정보를 최대한 찾아서 내것으로 만들어 보겠다. 오늘은 이와 관련된 정보를 찾아서 정리하겠다 1. Transaction이란? 트랜잭션이란 무엇일까? 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위이다. DB의 상태를 변형시킨다는 이야기는 무엇일까? SELECT, UPDATE, INSERT, DELETE와 같은 행동을 뜻한다. 트랜잭션에는 4가지의 특징이 있다. 원자성 : DB에 모두 반영되거나, 전혀 반영되지 않거나한다! 일관성 : 작업 처리의 결과가 항상 일관되어야 한다. 독립성 : 하나의 트랜잭션은 다른 트랜잭션에 끼어들 수 없고 마찬가지로 독립적이다 ..

Spring/JPA 2022.03.14