[에러해결/Spring] Property or field 'article_id' cannot be found on object of type 'com.example.spring_jpa.Article' - maybe not public or not vali / maybe not public or not valid? / java: cannot find symbol symbol: method getArticle_author()
2022. 1. 9. 02:01문제/관련에러
관련에러 1. ...HtmlController.java:26:70
java: cannot find symbol
symbol: method getArticle_author()
location: class com.example.spring_jpa.Article
-> Getter가 정의되어있지 않아서 발생하는 에러이다.
관련에러 2.
Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "article.article_title" (template: "index" - line 27, col 21)
at org.thymeleaf.spring5.expression.SPELVariableExpressionEvaluator.evaluate(SPELVariableExpressionEvaluator.java:292) ~[thymeleaf-spring5-3.0.14.RELEASE.jar:3.0.14.RELEASE]
Property or field 'article_id' cannot be found on object of type 'com.example.spring_jpa.Article' - maybe not public or not vali
-> Getter에 접근할 수 없어서, 발생하는 에러이다. 따라서, Thymeleaf에서 정상적으로 모델의 value를 찾지 못한다.
관련에러 3. - maybe not public or not valid?
-> Getter에 접근할 수 없어서, 발생하는 에러이다. 따라서, Thymeleaf에서 정상적으로 모델의 value를 찾지 못한다.
결론적으로, Getter에 문제가 생겼다. LomBok으로 Getter/Setter 어노테이션을 사용한다면,
해당 어노테이션 관련한 에러일 가능성이 높다.
아래의 해결방안을 따라해보자.
해결방안
해결방안 1. 엔티티에 Getter/Setter를 정의 한다. (LomBok을 이용해서 혹은 사용자 정의)
그래도 안되면,
해결방안 2. build.gradle에 dependencies에 lombok이 추가한다.
주의할점은 annotationProcessor <- 이것도 추가되어있는 지 확인할 것!
dependencies {
implementation 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}
그래도 안되면
해결방안 3. (중요) Eanble annotation processing이 check 한다.
File > Setting > Annotation Processors 로 들어가서, 해당 annotation processing이 enable 을 한다.
참고자료
https://m.blog.naver.com/light-star/221969272088
도움이 되셨으면 좋아요 부탁드립니다.
그래도안되면 댓글 부탁드립니다.
Property or field 'article_id' cannot be found on object of type 'com.example.spring_jpa.Article' - maybe not public or not vali / maybe not public or not valid? / java: cannot find symbol symbol: method getArticle_author()
Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "article.article_title" (template: "index" - line 27, col 21)
at org.thymeleaf.spring5.expression.SPELVariableExpressionEvaluator.evaluate(SPELVariableExpressionEvaluator.java:292) ~[thymeleaf-spring5-3.0.14.RELEASE.jar:3.0.14.RELEASE]