반응형

문제/관련에러

관련에러 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을 이용해서 혹은 사용자 정의)

이런식으로, 먼저 엔티티에 Getter/Setter가 정의되어있는 지 확인한다.

그래도 안되면,

해결방안 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]

반응형