선생님 연관관계 궁금한 부분이 있습니다..
401
작성한 질문수 18
시큐리티에서 좀 벗어난 질문인데
강의를 보다가 궁금한 부분이 생겼습니다..
엔티티의 연관관계 설정할 떄 (회원과 권한 기준으로)
회원(User), 권한(Role)가 서로 ManyToMany로 설정여 연관관계의 주인엔티티(User)에서 @JoinTable로 User_Role 매핑테이블을 찾아가는 것과
회원(User), 권한(Role) + 회원권한(User_Role) 엔테티 자체를 추가로 만들어서 OneToMany 구현해주는것의 차이.
1. 둘다 N:M관계를 처리하기 위해 설정 할 수 있는 매핑이 맞는지요?
2. 이 둘의 차이는 중간에 매핑테이블이 생성되는건 똑같이 생성되는데 User_Role을 엔티티로 만들어 두냐 아니냐로 나뉘어지는 건가요?
JPA랑 병행 학습하면서 시큐리티 강의를 듣고 있어서 한참 질문 수준이 부족한 것 같습니다..
답변 1
1
답변이 좀 늦었습니다.
1. 둘다 N:M관계를 처리하기 위해 설정 할 수 있는 매핑이 맞는지요?
네 둘다 N:M 관계를 해소하기 위한 연관관계 설정입니다.
2. 이 둘의 차이는 중간에 매핑테이블이 생성되는건 똑같이 생성되는데 User_Role을 엔티티로 만들어 두냐 아니냐로 나뉘어지는 건가요?
네 맞습니다.
ManyToMany 는 JPA 에서 자동적으로 1:N 의 관계로 참조할 수 있는 테이블을 생성해 주는 것입니다.
다만 ManyToMany 는 두 엔터티의 키로만 자동적으로 구성되고 다른 컬럼들은 임의로 추가할 수 없다는 단점이 있습니다.
그래서 강의에서는 편의상 ManyToMany 를 사용했지만 실무에서는 가능한한 oneToMany / ManyToOne 형태의 연관관계로 설정하는 것이 좋습니다.
시큐리티 공부 버전 질문
0
188
1
[해결 방법] MethodSecurityConfig.customMethodSecurityMetadataSource() 호출하지 않는 이슈
0
196
1
AbstractSecurityInterceptor.class.beforeInvocation()를 2번 실행하는 경우
0
185
1
강의 코드가 왜이렇게 뒤죽박죽인가요...
0
270
1
메인 페이지로 접속해도 login url로 리다이렉트가 되지 않습니다..
0
247
1
파라미터값이 넘어가지 않습니다 ....
0
381
1
security filterChain 설정 질문이 있습니다.
0
336
1
소스 부분 질문 드립니다.
0
211
2
섹션4 7번 강의 문제가 있는거 같네요.
0
351
2
파일이 수시로 이름이 바껴있네요 ㄷㄷ
0
308
1
HttpSessionSecurityContextRepository를 사용안하는 문제
0
563
2
error , exception 이 잘 안됩니다.
0
288
2
thymeleaf tag 질문합니다.
0
200
2
버전업하면서 deprecated된 것들이 너무많아요
0
482
1
spring security 패치 관련
0
442
1
모바일을 사용할때 토큰말고 세션
0
863
2
DB 연동한 인가 부분에 대한 질문입니다!
0
267
1
Ajax방식도 똑같이 Session방식을 사용하는건가요?
0
311
1
Config 파일 생성 시 질문이 있습니다.
0
233
1
강사님 몇일동안 구글 검색만 100개 했는데도 이유를 모르겠습니다..
1
440
2
403 에러 뜹니다.
0
816
2
login_proc의 존재에 대한 간략한 설명입니다
0
279
1
top.html에 로그인 링크를 만들어서 로그인을 해봤습니다
0
289
2
안녕하세요. DB에 저장될 때 이해 안 가는 값이 있어서 질문드립니다!
0
193
1





