TIL 2021.04.08 [협업]

Kyu·2021년 4월 8일
0

TIL

목록 보기
88/322

오늘 하기로 했던 일

  • 업데이트 딜리트 구현 (완료)
  • 로그 테이블 설계&구현 (완료)

업데이트 딜리트 문제

업데이트 구현

포스트맨 업데이트 에러 -> 테이블에 해당되는id가 없어서 불러올 데이터가 없어서 에러남.
지금도 그렇고 테이블에서 에러 나는 부분이 많다 오늘

딜리트 구현

엔티티에는 seter가 있으면 안좋다다는 말을 코코로부터 들음
그래서 이런식으로 했다.

    public void changeStatus(Status status){
        setStatus(status);
    }

    private void setStatus(Status status) {
        this.status = status;
    }

딜리트 구현 (2)

// Repository

@Query("select * from card c where not c.status = 'DELETED' ")
Iterable <Card> findByCardToNotDeleted();

일케하면 status가 DELETED인 것은 포함하지 않고 카드를 꺼내올수 있다.

이거 왜 되지?

// Card

    public void modify(Card updateCard) {
        this.title = updateCard.title;
        this.contents = updateCard.contents;
        setStatus(updateCard.getStatus());
    }

파라미터로 들어온 Card에서 바로 private 필드로 접근이 가능하다
파라미터로 들어온 객체가 자신의 클래스 내에 있으면 이렇게 사용가능한건가?

로그테이블설계

Card 마다 Log 를 가지게 해서 ~를 하려고 구현하려고 시도해봤으나 알 수 없는 에러로 테이블을 분리하기로 결정. 요청을 날리면 SQLSyntaxErrorException Unknown column ..라는 에러가 뜨는데 검색해보니 JDBC와 관련된건 안나오고 전부 필드 네이밍이 쿼리넣을때 잘못해서 그런거라는데 우리는 이미 쿼리가 들어간상태이다..
그래서 테이블을 따로 두고 진행중이다.

배운점?

오늘 배운점을 꼽자면 코코의 태도이다. 로그(카드의 히스토리) 구현하는 과정에서 에러가 많았는데, 나같으면 이정도했으면 머리좀식히고 다른공부하거나 했을거 같은데 코코는 밤새서라도 이거 해결하고 말겠다는 의지를..오늘 마지막에 강력하게 내비춰서 감명받았다.
문제를 끈질기게 추적하는 자세 ㅎㅎ 개발자의 기본 소양이라고 생각하는데 나는 그부분에서 조금은 부족한거같아 이번 팀프로젝트하면서 코코에게 많이 자극을 받을수있을거같다

profile
TIL 남기는 공간입니다

0개의 댓글