📌 요약
- 엄청난 JPA 삽질 중
- 구글에 나와있는 자료 거의 다 뒤져서 적용시켰으나 계속되는 연결 실패
- 으 진짜 뇌 녹을 거 같음
계속되고 있는 JPA 삽질..
이거 때문에 지금 플젝 진전이 안 된다.
흠.. 정말 힘들고 어렵군.
JPA는 SQLMapper와 파일 구조가 많이 다른 거 같다.
그거부터 새로 갈아엎어야 하는데
문제는 사람마다 다 환경(경로) 세팅하는 게 다른 거 같음ㅠㅠ
어쨌든 이걸로도 해보고 저걸로도 해봤는데 일단은 연결 실패...
고통스러운 이날도 얼른 끝나길..
11.14
드디어 JPA로 MySQL 연결을 성공했다.
진짜 나와있는 블로그 다 뒤진 것 같은데도 연결 실패했던
내 지난 날이 생각나서 울컥한다ㅠ..
이 블로그를 보고 따라해서 연결 성공했다!
감사함다 선생님..ㅋㅋㅠㅠ
근데 그대로 해도 연결 실패가 두 차례 생겼는데,
오류 1. org.hibernate.InstantiationException: No default constructor for entity
구글링 해보니
@Builder 어노테이션에서 오류가 발생하는 것이라고 한다.
이 블로그 보고 알게 됨.
감사함다 선생님2...
암튼 그래서 @Entity 부분에
@Builder를 추가하니 뭐가 또 생김...
일단 아무것도 모른채로 생성..
@Builder
public Member() {
}
이게 생기더라?
++ From. 김영한쌤
JPA가 엔티티 객체를 생성할 때 기본 생성자를 사용하므로 이 생성자는 반드시 있어야 한다.
자바는 생성자가 하나도 없으면 기본 생성자를 자동으로 만든다.
public Member() {} // 기본 생성자
🚨 문제는, 임의의 생성자를 하나 이상 만들면, 자바는 기본 생성자를 자동으로 만들지 않는다. 따라서 기본 생성자를 직접 만들어야 한다.
public Member() {} // 직접 만든 기본 생성자
// 임의의 생성자
public Member(String name) {
this.name = name;
}
근데 두 번째 다른 연결 실패가 또 생김.
오류 2. 대문자로 생성된 Table 요소와 매핑이 안 된다.
난 MySQL에서 memId라는 Column을 생성했는데 인식이 안 되고,
mem_id라는 Column을 또 생성한다;;
또 구글링.
이쯤되면 사실상 제일 큰 스승은 구글쓰앵님이다ㅋ
이 블로그 보고 오류 잡음.
감사함다 선생님3...
applicatein.properties 파일에
spring.jpa.hibernate.naming.physical-strategy = org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
이거 추가하니 대문자 제대로 인식 되더라.
++ 김영한쌤 JPA 강의 듣다 알게 된 내용
스프링 부트 신규 설정 (엔티티(필드) 테이블(컬럼))
1. 카멜 케이스 → 언더스코어(memberPoint member_point)
2. .(점) → _(언더스코어)
3. 대문자 → 소문자
라고 한다.
'프로젝트' 카테고리의 다른 글
[예외 처리] 회원가입 Custom Exception을 해보자 (0) | 2023.01.19 |
---|---|
프로젝트 진행 중 (2) - JPA 연결 (0) | 2022.12.19 |
프로젝트 배포 - AWS EC2 CentOS (0) | 2022.12.19 |
프로젝트 시작 전 (3) - Docker란? (0) | 2022.12.19 |
프로젝트 기획 - 기술 스택 (0) | 2022.12.19 |