Spring Boot + JPA + REST + HATEOAS + Lombok 그리고 VS code 환경에서 getter()를 찾지 못하는 문제
증상은 제목과 같다.
아래 소스코드에서 보듯 @Data 어노테이션이 있는데도 불구하고 api 호출 결과에 word 변수의 값이 출력되지 않는다
Java소스
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
@Entity
@Data
@Table(name="first_word")
@NamedQuery(name="FirstWord.findAll", query="SELECT e FROM FirstWord e")
public class FirstWord extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="seq")
@Description("순번")
private Long seq;
@Column(name="word")
@Description("단어")
private String word;
}
|
API호출결과 Json
1
2
3
4
5
6
7
8
9
10
11
12
|
{
"_embedded" : {
"firstWords" : [ {
"_links" : {
"self" : {
"href" : "http://penguin.termina.linux.test:8081/firstWords/1"
},
"firstWord" : {
"href" : "http://penguin.termina.linux.test:8081/firstWords/1"
}
}
}, {
|
VS code 에서 SpringBootApplication의 main 메소드를 바로 run실행했을 때 발생하는데
[![SambandoApplication java - sambando - Code - OSS](/images/SambandoApplication java - sambando - Code - OSS.png)](/images/SambandoApplication java - sambando - Code - OSS.png)
문제는 일관성이 없다는 점이다. Entity에 @Data 어노테이션을 뺐다가 다시 넣었을 때 정상 동작하기도 한다 -.-