인프런 커뮤니티 질문&답변

최재량님의 프로필 이미지
최재량

작성한 질문수

예제로 배우는 스프링 입문 (개정판)

Owner 클래스 에러

작성

·

248

0

강의 잘 보고 있습니다

github에서 코드 받아서 인텔리제이로 열었는데 Owner 클래스에서 에러가 나고

해당 부분에 마우스 갖다 대면 Cannot resolve table 'owners'  이런식으로 나옵니다

왜 이런 걸까요..

이런 에러가 있어도 실행은 되기에 강의를 보면서 age 항목을 추가했습니다

그런데 웹 상에서 addOwner를 눌러 Owner 정보를 등록하면 

HV000030: No validator could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.Integer'. Check configuration for 'age'

라고 에러페이지가 뜹니다.. 

Owner클래스와 연관이 있나 싶은데 왜 에러가 뜨는지 원인을 못찾겠네요ㅠㅠ

답변 5

1

age 에 @NotEmpty 를 써서 에러가 나는거네요~_~

@NotEmpty 는 String 과 collection 에 해당하는 경우만 사용되며 Integer 에는 맞지 않습니다

1

백기선님의 프로필 이미지
백기선
지식공유자

코드가 안보이긴 하는데 Integer age 위에다가 @NotEmpty 사용하신거 아닌가요? NotEmpty 애노테이션 클릭해서 JavaDoc 읽어보세요. 어디에 어느 경우에 사용하는건지.. 앞으로는 이해가 안되시면 그 주변 코드의 JavaDoc을 읽는 습관을 들이시는게 좋겠습니다.

해당 프로젝트와 연관된 데이터소스가 없으니 해당 엔티티에 맵핑되는 필드나 테이블을 못찾아서 그러는 겁니다. 인텔리J 얼티메이트 버전에는 Database를 연결해서 데이터도 조회하고 스키마도 조작할 수 있는 기능을 제공하는데 그 기능에 연결하면 인텔리J가 엔티티의 내용과 해당 DB 스키마의 맵핑을 통해 테이블이나 필드등을 조회해서 맵핑되는지 알려주는 기능입니다. 이 강좌를 수강하는데 있어서 아무런 방해가 되지 않으니 무시하셔도 좋습니다.

1

백기선님의 프로필 이미지
백기선
지식공유자

에러 메시지가 다 왜 그런지 말해주고 있는데 에러 메시지를 다시 잘 읽어보시기 바랍니다. 첫번째 인텔리J 에러는 무시해도 괜찮지만 두번째 에러는 너무도 친절히 적혀있으니 천천히.. 꼼꼼히 저 에러 메시지가 무슨 뜻인지 이해하려고 노력하세요. 

0

Integer는 @NotNull

0

최재량님의 프로필 이미지
최재량
질문자

답변 감사합니다

그런데 에러메시지를 봐도 이해 안가는 부분이 있습니다ㅠㅠ

1. 'validator'가 구체적으로 뭘 말하는 건지 모르겠습니다.. NotEmpty클래스 제약에 대한 검증기?? NotEmpty클래스 import가 안됐다는 걸까요?  몇번이고 빌드해도 해결이 안되는거보면 그건 아닌것 같기도하구요ㅠㅠ

2. 'age'에 대한 구성을 다시 보라는데, 그럼 왜 코드 상에서 'owners', 'address' 등에도 빨간 줄이 있는건지 모르겠습니다..

quick fix에 보면 'assign data source'라고 되어 있는데 database에 대한 부분을 우선 학습해야 할까요?

최재량님의 프로필 이미지
최재량

작성한 질문수

질문하기