[스프링] 스프링 부트와 JPA 연동

스프링 프레임워크는 자바 언어를 사용하는 기업 응용 프로그램 개발에 매우 인기 있는 프레임워크입니다. 스프링은 자바 개발을 위한 막강한 툴과 라이브러리를 제공하며, 다양한 모듈을 통해 유연한 개발이 가능합니다.

JPA(Java Persistence API)는 데이터를 관리하는 데 사용되는 자바 프로그래밍 언어의 API입니다. 스프링 부트 프레임워크는 JPA와 매우 쉽게 연동될 수 있습니다. 이를 통해 데이터베이스와의 상호작용을 간단하게 처리할 수 있습니다.

JPA 설정

스프링 부트 프로젝트에서 JPA를 연동하기 위해서는 pom.xml 파일을 열고 필요한 의존성을 추가해야 합니다.

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
</dependencies>

위의 의존성을 추가한 후, application.properties 파일에 데이터베이스 연결에 필요한 정보를 설정해야 합니다.

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect

엔티티 클래스 생성

JPA를 사용하기 위해서는 엔티티 클래스를 생성해야 합니다. 간단한 예제로 User 엔티티 클래스를 생성해보겠습니다.

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String username;
    private String email;

    // Getters and setters
}

위의 코드에서 @Entity 어노테이션은 해당 클래스가 엔티티 클래스임을 나타내고, @Id 어노테이션은 기본 키(primary key)를 나타냅니다.

Repository 생성

스프링 부트 애플리케이션에서 JPA를 사용하기 위해서는 해당 엔티티에 대한 Repository를 생성해야 합니다.

public interface UserRepository extends JpaRepository<User, Long> {
    // 추가적인 메서드 정의 가능
}

위의 코드에서 JpaRepository는 스프링 데이터 JPA에서 미리 정의된 기본적인 CRUD(Create, Read, Update, Delete) 메서드를 제공합니다.

이렇게 JPA와 스프링 부트를 연동하는 방법을 통해 데이터베이스와의 상호작용을 손쉽게 처리할 수 있습니다.

참고 문헌

이상으로 스프링 부트와 JPA의 연동 방법에 대해 알아보았습니다.