DTO 클래스 설계시에 각각의 DTO들은 테이블 한 행, 한 행에 대한 설계도 역할을 하는 클래스이기때문에
클래스 명을 단수형으로 수정한다.(프로젝트 규약 지정 시 DB테이블의 이름을 복수형으로 정했지만 .java 클래스 파일은
테이블의 엔터티 역할을 하는 것이기 때문에 테이블명과 동일하게 설계하지 말고, 단수형으로 변경하는 것이 적합.)
각 DTO에 해당하는 멤버변수들도 상세네임설정하도록 수정하기
각각의 테이블의 컬럼명도 테이블 별로 상세하게 값 맞춰주기( ex) clients 테이블에 id 컬럼은 clients_id )
DTO설계시 멤버변수를 이용해 생성자만들고, setter getter 메서드 같은 여러 오버라이드 했던 메서드들은 멤버변수 내용이
확정되고 난 후에 수정사항이 없을 때 오버라이드 하기
region을 2차 구현으로 남겨둔다면 sight클래스안에서 has a로 region 타입의 멤버변수를
가지고 있어야하고, DTO클래스로 가지고 있지 않을거라면 regions 테이블도 없어야하는것
둘중에 회의로 선택하기 ( 일단은 2차구현 예정으로 남겨두고 region 테이블과의 관계를 끊어놓음 )
코멘트 테이블에 클라이언트 아이디로 비식별자 관계가 정립되어있어야한다
(우리는 댓글에서 댓글단 사람의 아이디가 아니라 닉네임을 얻어올거니까 DTO 클래스니까
clients 타입 멤버변수는 가진다 중복으로 client_id 멤버변수는 없앤다)
좋아요를 했을 때 다이어리 테이블에 likesCnt 값이 같이 증가되어야 하니까 그거를
trigger로 할 지, sql 에서 update 구문을 사용해야 할 지 회의하기 ( 트리거로 하기로 결정 -> 스터디해오기)
clients 테이블에 addr 컬럼 제거하기로 결정
서블릿 별로역할분담!
서블릿 별로 필요한 리파지토리를 만든다
(이때 순서는 리파지토리 먼저만들어서 sql만들어놓고 그걸 메서드로 쓰는 )서블릿 파일을 만든다.
서블릿별로 만들고 TDD하고 -> 그다음에 프론트 만들기
repository 설계 회의록 (7/5 화요일)
강사님께 질문할것 정리
repository 에서 insert()/modify()/delete()는 void type? boolean type? : void type
ClientOracleRepository에서는 delete()가 따로 필요한가? (status_flag로 회원탈퇴여부를 결정할 수 있으므로.. 행 삭제를 하는게 아니니깐) modify()로 다 해결가능하지 않을까? : 따로 필요하지 않음
강사님 피드백
repository는 DB와 일을 하기 때문에 메서드 이름을 지을때 SQL구문의 명령어를 기준으로 이름을 짓는게 맞다
(현업에서는 usecase를 기준으로 할때와의 괴리 때문에 service layout을 더 만들어서 관리하는 편임
ex. service layout : 회원탈퇴(), 회원정보수정() -> repository layout : update())
repository를 구현하기 전에는 먼저 interface를 반드시 만들어둬야함. 대신 사용할 메서드를 명확하게 정리한 후에 인터페이스를 만들고 클래스로 구현해야 일이 덜 힘들어짐.
강사님 피드백 반영 회의록(7/4 월요일 16:00)
DTO 클래스 설계시에 각각의 DTO들은 테이블 한 행, 한 행에 대한 설계도 역할을 하는 클래스이기때문에 클래스 명을 단수형으로 수정한다.(프로젝트 규약 지정 시 DB테이블의 이름을 복수형으로 정했지만 .java 클래스 파일은 테이블의 엔터티 역할을 하는 것이기 때문에 테이블명과 동일하게 설계하지 말고, 단수형으로 변경하는 것이 적합.)
각 DTO에 해당하는 멤버변수들도 상세네임설정하도록 수정하기
각각의 테이블의 컬럼명도 테이블 별로 상세하게 값 맞춰주기( ex) clients 테이블에 id 컬럼은 clients_id )
DTO설계시 멤버변수를 이용해 생성자만들고, setter getter 메서드 같은 여러 오버라이드 했던 메서드들은 멤버변수 내용이 확정되고 난 후에 수정사항이 없을 때 오버라이드 하기
region을 2차 구현으로 남겨둔다면 sight클래스안에서 has a로 region 타입의 멤버변수를 가지고 있어야하고, DTO클래스로 가지고 있지 않을거라면 regions 테이블도 없어야하는것 둘중에 회의로 선택하기 ( 일단은 2차구현 예정으로 남겨두고 region 테이블과의 관계를 끊어놓음 )
코멘트 테이블에 클라이언트 아이디로 비식별자 관계가 정립되어있어야한다 (우리는 댓글에서 댓글단 사람의 아이디가 아니라 닉네임을 얻어올거니까 DTO 클래스니까 clients 타입 멤버변수는 가진다 중복으로 client_id 멤버변수는 없앤다)
좋아요를 했을 때 다이어리 테이블에 likesCnt 값이 같이 증가되어야 하니까 그거를 trigger로 할 지, sql 에서 update 구문을 사용해야 할 지 회의하기 ( 트리거로 하기로 결정 -> 스터디해오기)
clients 테이블에 addr 컬럼 제거하기로 결정
서블릿 별로역할분담!
서블릿 별로 필요한 리파지토리를 만든다 (이때 순서는 리파지토리 먼저만들어서 sql만들어놓고 그걸 메서드로 쓰는 )서블릿 파일을 만든다. 서블릿별로 만들고 TDD하고 -> 그다음에 프론트 만들기
repository 설계 회의록 (7/5 화요일) 강사님께 질문할것 정리