본문 바로가기

Jpa38

jpa 단방향, 양방향 개념 정리 jpa 단방향, 양방향 개념 정리 단방향 A 와 B 가 1:n 관계이고, A —> B 단방향 이라면 A 에서 B 는 접근 가능. B 에서 A 는 접근 X source @Entity public class A { List b = xxx; } 양방향 A 와 B 가 1:n 관계이고, A —> B , B —> A. 둘 다 접근 가능 source @Entity public class A { List b = xxx; } @Entity public class B { A a; } 단방향, 양방향 어떤 것을 쓰는게 좋은가? 양방향은 정말 필요할 경우 사용하기. 그 외에는 단방향을 쓰는게 좋을 것 같음. 양방향을 주는 순간 선택의 폭이 넓어지고 신경 써야 할 것이 많이 생김. 그렇기에 필요한 경우만 사용하고 단방향으로 사.. 2021. 1. 13.
jpa 준영속 상태 및 merge vs 변경감지 비교 jpa 준영속 상태 개념 영속성 컨텍스트가 더 이상 관리하지 않는 엔티티를 준영속 상태라고 함. 즉, database 에 이미 한 번 갔다 온다음, 영속성 콘텍스트에서 빠진 Entity 를 준영속 상태라고 함. -- 여기서 member 는 이미 1이라는 pk 로 저장돼있다고 가정하고 -- api 를 통해 다시 한 번 들어오면, Member member = new Member() 는 준영속 상태이다. -- 영속 @PostMapping(xxx) public xxx updateMember(xxx) { Member member = new Member(); member.setId(1); } 준영속 엔티티를 수정하는 방법 1. find 로 찾은 다음에 데이터를 변경해줌 (best 방법) 아래와 같이 데이터를 수정하.. 2021. 1. 6.
JPA ENUMERATED 사용법 정리 JPA ENUMERATED 사용법 정리 아래와 같이 작성하고 생성하면 DB 에 A,B,C 로 저장이 됨. 주의할건 EnumType.ORDINAL 을 될 수 있으면 쓰지 않는게 좋음. 이건 0,1,2 이런 순으로 순서대로 값을 만들어 DB 에 저장하기에 중간에 코드 값이 추가되거나 줄어들면 코드 값이 꼬여버린다. @Entity public class Test { @Column @Enumerated(EnumType.STRING) private TestStatus testStatus; } public enum TestStatus { A,B,C } 2020. 12. 31.
jpa embedded, cascade 정리 jpa embedded, cascade 정리 Embedded 내장타입이며, 쉽게 자바로 얘기하면 객체 안의 객체라고 이해하면 됨. Embeddable 은 내장 객체에 선언. Embedded 는 내장 객체를 사용하는 곳에 선언. 재사용성이 좋고, 응집성이 좋겠지. @Embeddable public class Address { private String zipCode; private String addr; } @Entity public class Member { @Embedded private Address address; } cascade cascade 는 연관관계의 데이터 변화를 같이 DB 에 반영하겠다는 것. CascadeType.ALL 옵션을 보통 쓰고, persist, remove 와 같은 옵션을 .. 2020. 12. 27.