인프런 - 스프링 부트와 JPA 활용1 by 김영한 을 기반으로 작성된 글입니다.
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Preferences → plugin → lombok 검색 실행 후 Restart
Preferences → Build → Compiler → Annotation Processors → Enable annotation processing 체크 후 Restart
임의 클래스 만들고 Getter, Setter 확인
public class Hello {
private String data;
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
Lombok 사용시 위의 코드를 @Getter
, @Setter
어노테이션을 통해 자동 생성
→ 코드를 줄일 수 있다는 장점을 가지고 있다!
import lombok.Getter;
import lombok.Setter;
@Getter @Setter
public class Hello {
private String data;
}
입력한 데이터가 제대로 출력 됨
그러나 발생한 오류 1, 2 ( 게시글 하단에 해결 방안 제시 )
Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
Xverify:none 및 -noverify는 JDK13에서 더 이상 사용되지 않습니다.
혹시 Java Version 차이 문제 일까?
1. Gradle 설정 에서 Java Version 확인하기
먼저 build.gradle에 설정해놓은 버전은 11
Gradle 설정에는 13으로 되어있는것을 확인하고
11로 변경
또 시스템 속성 환경변수 JAVA_HOME 변수값도 jdk-11.0.13
으로 변경 후
IntelliJ Restart 했는데도 문제는 해결되지 않았다. 😥
2. Edit Configurations 에서 Java Version 확인하기
우측 상단에서 Edit Configurations 클릭
Spring Boot 의 Java Version은 13으로 되어있는 것을 확인 🤢
이거 보자마자 찾았다고 확신을 했다.. 나는 해결할 수 있다고..
Java Version을 11로 변경
위 오류가 뜨면서 동시에
JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
정리 해석 : spring.jpa.open-in-view는 기본적으로 사용하도록 설정되어있다.
이 경고를 사용하지 않으려면 spring.jpa.open-in-view를 명시적으로 구성해라.
Spring boot에서는 open-in-view 가 true로 설정 되어 있으나
검색 결과 OSIV(Open Session In View) 에서 확장성 측면으로 false로 설정하는게 좋다고 한다.
spring.jpa.open-in-view=false
application.properties 에서 값을 false로 바꿨더니 해결 되었다!