[Spring Boot] IntelliJ @Data 어노테이션이 적용되지 않을 때

심애림·2023년 11월 29일
0

열심히 유튜브 강의를 보면서 IntelliJ에서 Spring Boot 프로젝트를 진행하고 있었다.


Study_record라는 Entity를 생성하고

package com.example.springboot_ex.entity;

import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import lombok.*;

import java.time.LocalDateTime;

@Data
@Entity
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Study_record {
    @Id
    private int key_id;
    private String study_day;
    private String contents;
    private LocalDateTime reg_day;
}

레포지터리를 생성한 다음

package com.example.springboot_ex.repository;

import com.example.springboot_ex.entity.Study_record;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface StudyRecordRepo extends JpaRepository<Study_record, Integer> {
}

간단하게 테스트하는 메소드를 작성하는데

package com.example.springboot_ex.repository;

import com.example.springboot_ex.entity.Study_record;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

import static org.junit.jupiter.api.Assertions.*;

@SpringBootTest
class StudyRecordRepoTest {
    @Autowired
    StudyRecordRepo repo;

    public void  testSelectAll() {
        List<Study_record> list = repo.findAll();

        for (Study_record record : list) {
            System.out.println(record.getKey_id());
        }
    }
}

유튜브에서는 자동으로 Get 메소드가 생성되어 있는데 나는 왜 없다고 에러가 나지..?

혹시나 내가 놓친 부분이 있는지 강의도 다시 돌려보고 구글링도 열심히 해봤다.


열심히 구글링하며 삽질을 하던 중...

내가 생성한 Entity의 어노테이션을 살펴보던 중 @Data가 Getter와 Setter를 직접 구현하지 않아도 사용할 수 있게 해주는 어노테이션이라는 걸 알게 되었다.


그리고 발견한 하나의 해결책!!
Lombok 플러그인을 설치해보라고?

바로 plugin에서 Lombok을 검색해서 설치하고 적용해줬다.

이렇게 간단하게 해결..ㅎㅎ

profile
뭐든지 노력하는 백엔드 개발자, 심애림입니다.

0개의 댓글