에러 해결 노트 2023.01.25 update

배인성·2023년 1월 5일
0

ownus

목록 보기
5/6
post-thumbnail

#1

에러 메세지 > Public Key Retrieval is not allowed

원인 > Mysql 8.0 이후, spring.datasource.url에 useSSL=false 설정해놓고 allowPublicKeyRetrieval을 설정하지 않았기 때문

해결 > application.properties에 spring.datasource.url 파라미터 제일 뒤에 allowPublicKeyRetrieval=true를 붙여줌

#2

서버 재기동시 데이터가 다 날아감

원인 > application.properties 파일에 기존에는 spring.jpa.hibernate.ddl-auto=create가 되어있었기 때문

해결 > spring.jpa.hibernate.ddl-auto=update로 바꿔줌

note > 옵션 종류

  • create : SessionFactory 시작시 스키마를 삭제하고 다시 생성
  • create-drop : SessionFactory 종료 시 스키마를 삭제
  • update : SessionFactory 연결된 DB와 비교하여 추가된 항목은 추가 만약 같은 변수명이면 오류발생
  • validate : SessionFactory 시작시 객체구성과 스키마가 다르다면 예외 발생
  • none: 아무것도 안함

세션 시작시 스키마를 "삭제"하고 다시 생성 ㅋㅋ 아 근데 하나 알게된게 Table create도 얘가 해주는구나... 아니 어쩐지 어제 한창 안될때 Table(name ="usertest")넣고 돌려봤는데 테이블에 usertest도 갑자기 생긴겈ㅋㅋ

#3

'Table명' is not mapped

원인 > jpql의 createQuery는 @Table에 딸려있는 name을 찾는게 아니라 Entity에 딸려있는 name을 찾는 애임.

해결 > 그래서 1번코드가 아니라, 2번코드여야함

1번코드

@Entity
@Table(name = "users")
public class UserEntity {
   @Id
   private String user_id;
   아래 더있음

2번코드

@Entity(name = "users")
@Table(name = "users")
public class UserEntity {
    @Id
    private String user_id;

그리고 인텔리제이 디버깅하는 방법 알아냄

코드 왼쪽 라인에다가 더블클릭해서 중단점(Break point) 만들고, 우클릭해서 Condition 란에 변수 명을 세팅할 수 있는데, postman이든 뭐든 요청을 보내면 코드 한줄 한줄 내려갈 수 있음! (단축키 F8)

2023.01.06 오늘은 일단 자자 내일 출근해야지~

#4

the request was a legal request but the server is refusing to respond to it (403 에러) -> POST 요청시 위 메시지와 함께 403 에러 뜸

원인 > JWT 기반 로그인을 구현하기 위해 Spring Security를 적용했는데, Spring Security는 기본적으로 요청에 대해 csrf를 체크하기 때문

해결 > http.csrf().disable() 추가!

#5

encoded password does not look like bcrypt

원인 > DB에 비밀번호를 저장할때 암호화하지 않고 서비스단에서 비밀번호 매칭을 시켰다.

해결 > 회원가입할 때, registerDTO를 넘기는 과정에서 비밀번호를 암호화한채로 set해서 회원가입 시킴!

#6

Cannot delete or update a parent row: a foreign key constraint fails

원인 > 쿼리로 delete시, table간 외래키가 물려있어서 삭제가 안됨 ㅜ

해결 > Repository단에서 delete를 할때, em.find()를 호출해서 객체를 받고, 그걸 remove를 해야 먹히더라

profile
부지런히 살자!!

1개의 댓글

comment-user-thumbnail
2023년 1월 16일

고생했어용

답글 달기