해결된 질문
작성
·
351
0
안녕하세요. 강의를 들으며 실무에 적용 중인데 궁금한 것이 있어서 질문 드립니다.
현재 메뉴 테이블과 메뉴권한 테이블 두개를 생성하였고
메뉴 : 메뉴 접근 권한= 1 : n 의 연관관계를 가지고 있습니다.
(메뉴 권한 테이블이 주인이고 양방향이며, 하나의 메뉴에는 여러 접근 권한이 들어갈 수 있습니다.)
이 상황에서 해당 테이블을 통해 작업 되는 기능은 아래와 같습니다.
메뉴 명을 변경할 수 있다. (메뉴 테이블 update)
이럴 경우 Spring Data JPA를 적용한다면, 상기 기능을 처리 할 때마다 메뉴Repository가 아닌 메뉴권한Repository를 호출하여 메뉴권한 객체를 통해 메뉴를 수정해야 하는데 이 부분이 좀 부자연스럽게 느껴집니다.
이럴 경우 어떻게 처리 하는 것이 좀 더 나을까요? 제 생각에는
테이블을 다시 짜서 메뉴가 다대일 관계로 구성 되겠끔 처리한다(지만 쉽지 않은 상황이네요)
메뉴-메뉴권한 관계를 일대다 관계로 처리한다. (단방향)
연관관계는 그대로 두고 저장/수정 시에만 JdbcTemplate 등으로 처리 한다.
등이 있는데 더 나은 방안이 있을까요? 맨날 SQL로 작업 하다 ORM을 해보려고하는데 참 쉽지 않네요.
답변 1
1
업무하다가 이제 확인합니다. 말씀하신대로 처리 하니 정상적으로 되네요!
답변 감사합니다. 말씀하신데로 더티체크를 통해 처리를 하게 되었습니다!
다만 한번 select 쿼리를 날려야한다는게 데이터 정합성 및 보안상 좋습니다만, SQL Mapper 경우 바로 해당 seq에 update문 한번만 날리면 되는데 select를 추가 해야하는게 참 익숙치가 않네요 ㅠㅠ