본문 바로가기

jpa

[아이디어] 복합키(Composite-key), 쉽게 CRUD 해보자 데이터베이스 설계를 하다 보면 복합키(Composite-key)를 활용해야 하는 경우를 피할 수 없을 때도 있다. 만약 우리가 사용자에게 CRUD를 제공하는 웹 서비스를 개발한다면 이 복합키를 어떻게 처리해야 할 지 분명 고민에 빠질 것이다. 이 포스트에서는 AS-IS와 TO-BE 예제를 통해 Converter를 이용해 복합키를 지닌 엔티티의 CRUD를 매우 간편하게 처리할 수 있는 아이디어를 다룬다. 복합키를 가진 엔티티 정의 우선 AS-IS와 TO-BE를 설명하기 전에 복합키를 가진 엔티티를 정의해 보자 우선 Room.class 라는 엔티티를 정의하였다. 이 Room은 학년-반으로 이루어진 복합키를 가진다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2..
Hibernate 부모-자식 연관관계 삭제 문제 개요조직-부서 관계를 가진 Entity를 개발 중에 발생한 문제였습니다.조직은 여러 개의 부서를 가질 수 있는 다대 다 관계의 모델을 구성했는데, 조직이 삭제되면 하위에 있는 모든 부서가 삭제되어야 하는 기능입니다. 1234@OneToMany(mappedBy = "organization", cascade = {CascadeType.MERGE}, fetch = FetchType.EAGER)@OnDelete(action = OnDeleteAction.CASCADE)@JsonBackReferenceprivate List departments = new ArrayList();Colored by Color Scriptercs 위와 같이 구현을 완료하고 삭제 버튼을 클릭하는 순간 DataIntegrityViolat..