[pre-project] 0221

박채은·2023년 2월 21일

Project

목록 보기
1/21

✔️ Todo

  1. CRUD 구현 테스팅
  2. 클라이언트-서버 연결

1. CRUD 구현 테스팅

CRUD 자체의 로직 문제는 없었지만, 간단한 문제들이 있었다.

content의 길이 이슈

질문의 내용(content)이 길어지면, Value too long for column "CONTENT CHARACTER VARYING(255)” 에러가 발생한다.

이건 내가 ddl-auto: create를 설정해놨기 때문에 발생하는 문제인 것 같다.

  jpa:
    hibernate:
      ddl-auto: create

Question Entity의 content 속성은 다음과 같다.

@Column(nullable = false)
private String content;

Column 애너테이션의 length를 설정하지 않으면, default로 CHARACTER VARYING(255)로 설정되는 것 같다.

원래 백엔드 분들과 결정했던 content는 text 타입이 되어, 길이의 제한이 없어야 한다.

생각한 해결법은
1) ddl-auto: create를 없애고, 직접 create table sql 문을 작성해준다.
2) ddl-auto: create를 유지하고, 타입을 text로 바꿔주는 방법을 찾는다.

https://stackoverflow.com/questions/12776602/creating-table-with-longer-text-field-by-hibernate-hbm2ddl-auto

https://theleast.tistory.com/42

결론

  1. DB로 h2를 사용할 것인지, mysql를 사용할 것인지
    -> h2 사용
  2. ddl-auto: create를 여전히 사용할 것
    -> columnDefinition = "TEXT"을 @Column에 추가해준다.
@Column(nullable = false, columnDefinition = "TEXT")
private String content;

2. 클라이언트-서버 연결

https://sundries-in-myidea.tistory.com/71
https://velog.io/@u-nij/Spring-Boot-React.js-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-%EC%84%B8%ED%8C%85
https://sundries-in-myidea.tistory.com/134
https://7942yongdae.tistory.com/136

proxy를 설정한 뒤에, 프론트 측에서 데이터가 넘어오는지 확인해봤다.


🚨 이슈 트랙킹

나를 너무나 화나게 한 인텔리제이 gradle 문제와 java 파일 문제...

https://angel-jinsu.tistory.com/21

https://velog.io/@lee39/IntelliJ-%EC%9D%B8%ED%85%94%EB%A6%AC%EC%A0%9C%EC%9D%B4-%EA%B0%91%EC%9E%90%EA%B8%B0-class%EA%B0%80-%EC%95%88-%EB%9C%A8%EA%B3%A0-java-%ED%8C%8C%EC%9D%BC%EB%A1%9C-%EB%9C%A8%EB%8A%94-%EC%98%A4%EB%A5%98

간단한 해결법이 존재했다.


추가 기능

생각해봤던 추가 기능들은 다음과 같다.

  1. Pagnation 기능
  2. 댓글 수 체크 기능
  3. view 수 체크 기능
  4. 전체 질문 수 기능
    -> 1) size(getAllQuestion())해서 출력하는 것이 효율적일지
    -> 2) totalSize 속성을 DB에 저장하는 것이 효율적일지
  5. 질문 작성자 추가
    -> Principal principal 사용은 로그인 기능이 완성되어야 할 것 같아서 포기
    -> 연관 관계로 매핑된 member에서 질문자 정보 가져오기

1번은 프론트분들에게 Pagnation에 대해서 여쭤보고 나서 구현해야 할 것 같다.
2번은 answer POST 시에, Question의 answerCount을 증가하고 DELETE 시에 answerCount을 감소하는 방향으로 해야할 것 같다.

https://doublesprogramming.tistory.com/102

0개의 댓글