2022 09 25 - WIYA-waitinyourarea/wiya GitHub Wiki
2022-09-25 회의록
1. 파일 타입을 수정하는 내용
- 목표
- 파일을 멀티파트로 전송하는 내용은 성공했지만, 병원 수정 폼에서 기존의 파일(이미지)를 지우거나 추가하거나 하는 기능이 필요
- 문제
- input file의 value를 서버에서 받아온 정보로 임의로 지정할 수 없음
- input file의 파일은 클라이언트의 파일 경로이므로, 수정 폼에서 클라이언트가 파일을 인지할 수 있게 하기 위해선 오리진 네임을 노출 시켜야함
- 해결
- js 에서 input file
.files
속성과 DataTransfer
객체를 이용하여 동적으로 input file에 파일 리스트를 클라이언트가 동적으로 수정할 수 있게 적용
- 수정 폼을 get방식으로 클라이언트에게 전달할 때 병원 엔티티에 등록된 병원 이미지 컬렉션을 읽어서 그 리스트를 뿌리고, 클라이언트가 그 리스트 중 지우고 싶은 사진을 선택하면 서버에서 해당 엔티티를 지우도록
2. 병원
과 병원 이미지
양방향 관계
- 목표
- 병원 수정 폼에서 기존 이미지 리스트 중 지우고 싶은 사진을 지우면 서버에서 해당 병원 이미지
DELETE문
flush하기
- 문제
- 해결
- 병원과 병원 이미지는
양방향 관계
이고, CascadeType=ALL
인게 문제
- 병원 이미지는 병원에 영속성이 전이된 상태이므로 병원 이미지를 단독으로 remove할 수 없음
- 2가지 해결 방법
- CascadeType=ALL 속성을 지워버리던지
cascade = CascadeType.ALL, orphanRemoval = true
속성 적용
- 병원에서 병원이미지를 갖고 있는 컬렉션에서 삭제를 원하는 병원 이미지를 뺴버리면, 자동으로 고아객체가 되어 삭제됨