에러 메세지 > Public Key Retrieval is not allowed
원인 > Mysql 8.0 이후, spring.datasource.url에 useSSL=false 설정해놓고 allowPublicKeyRetrieval을 설정하지 않았기 때문
해결 > application.properties에 spring.datasource.url 파라미터 제일 뒤에 allowPublicKeyRetrieval=true를 붙여줌
서버 재기동시 데이터가 다 날아감
원인 > application.properties 파일에 기존에는 spring.jpa.hibernate.ddl-auto=create가 되어있었기 때문
해결 > spring.jpa.hibernate.ddl-auto=update로 바꿔줌
note > 옵션 종류
세션 시작시 스키마를 "삭제"하고 다시 생성 ㅋㅋ 아 근데 하나 알게된게 Table create도 얘가 해주는구나... 아니 어쩐지 어제 한창 안될때 Table(name ="usertest")넣고 돌려봤는데 테이블에 usertest도 갑자기 생긴겈ㅋㅋ
'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 오늘은 일단 자자 내일 출근해야지~
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() 추가!
encoded password does not look like bcrypt
원인 > DB에 비밀번호를 저장할때 암호화하지 않고 서비스단에서 비밀번호 매칭을 시켰다.
해결 > 회원가입할 때, registerDTO를 넘기는 과정에서 비밀번호를 암호화한채로 set해서 회원가입 시킴!
Cannot delete or update a parent row: a foreign key constraint fails
원인 > 쿼리로 delete시, table간 외래키가 물려있어서 삭제가 안됨 ㅜ
해결 > Repository단에서 delete를 할때, em.find()를 호출해서 객체를 받고, 그걸 remove를 해야 먹히더라
고생했어용