inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

31강. 대출 기능 개발하기

31강 질문 있습니다.

337

이지현

작성한 질문수 2

2

책 대출기능 DB 테이블명을 'user_loan_hostory'라고 오타를 내서 생성을 하니까 책 대출 시 서버 내부 오류가 발생했습니다.

그래서 테이블명을 'user_loan_history'로 수정한 후 대출 기능을 다시 실행해보니 잘 동작합니다.

왜 테이블명이 user_loan_hostory일 때는 인식하지 못하고, user_loan_history로 수정한 후에만 인식이 되는걸까요?

db 테이블과 엔티티 객체를 매핑할 때, 대응되는 필드만 맞으면 DB 테이블명을 명시적으로 작성해주지 않아도 스프링이 알아서 인식하는 것이 아닌가요?ㅜㅜ

java spring aws mysql spring-boot jpa

답변 1

1

최태현

안녕하세요 지현님! 질문 남겨주셔서 감사합니다. 🙂

 

결론부터 말씀드려 보면, 스프링 (정확히는 JPA) 이 인식하는 규칙은 "테이블 이름"과 "Entity 이름"을 확인하는 거에요! 따라서 필드가 동일하더라도 테이블 이름이 다르면 인식하지 못하는 것이 맞습니다.

보다 더 엄밀하게는, Entity 이름의 경우 @Table 어노테이션을 이용해 별도의 이름을 지정해 줄 수도 있답니다.

@Table(name = "my_table")
@Entity
public class Hello {

}

예를 들어 위의 경우 Hello Entity 클래스는 my_table 에 매핑됩니다. 별도의 이름을 지정하지 않았다면, 클래스 이름을 테이블 이름으로 생각하게 됩니다. 👍

 

감사합니다! 🙏

패키지 구분에 대해 궁금한게 있습니다

0

25

2

리액트 관련 질문이 있습니다.

0

65

2

스프링부트 버전

0

76

2

7강 강의를 들으려고 했는데 오류가 나서 서버가 안 켜지는거 같아요.

0

59

2

33강. UserLoanHistory의 관계성에 대한 질문

1

56

2

Java JDK 버전 문의의 건

0

135

2

ec2 에서 Linux버전이 달라져서 설치가 안되는것 같은데 자료 최신화좀 해주세요.

0

90

3

h2 console 접속했을 테이블 질문

1

67

1

ec2 서버에서 스프링 실행도 되고 인바운드 설정까지 했는데 index.html 안됨

0

79

2

15강. updateUser() 질문

0

56

2

깃허브 질

0

84

2

여기까지 다 끝냈다고 하셨는데

0

79

2

왜안될까요

0

72

2

MySQL 창이안ㄴ뜹니다

0

59

2

포스트맨

0

52

1

spring 개념적인 질문

0

71

2

인텔리제이 샘플코드 실행 안됨 오류

0

142

2

aws 배포할때 .env 파일에 저장한 환경변수에 관하여 여쭤볼게 있습니다

0

86

1

마이그레이션 오류입니다.

0

175

3

Whitelabel Error Page 오류가 났습니다.

0

166

2

안녕하십니까! 오류가 났습니다.. 도와주세요 ㅜㅜ

1

94

3

궁금한게 있습니다.

0

60

2

DTO 관련

0

70

2

궁금한게 있습니다!

0

69

2