[java] Hibernate와 Spring Boot 연동 방법은?

Spring Boot와 Hibernate는 현대적인 Java 애플리케이션 개발에 필수적인 기술입니다. Hibernate는 객체 관계 매핑(ORM)을 가능하게 해주며, Spring Boot는 이를 효과적으로 구현할 수 있는 프레임워크입니다. 따라서 Hibernate와 Spring Boot를 연동하여 데이터베이스와의 상호작용을 손쉽게 구현할 수 있습니다.

다음은 Hibernate와 Spring Boot를 연동하는 방법입니다.

1. 스프링 부트 프로젝트 생성하기

먼저, 스프링 부트 프로젝트를 생성해야 합니다. 이를 위해서는 Spring Initializr(https://start.spring.io/)을 사용할 수 있습니다. 필요한 의존성(Dependencies)으로는 Spring Web, Spring Data JPA가 포함되어야 합니다.

2. Hibernate 의존성 추가하기

pom.xml 파일에 Hibernate 의존성을 추가해야 합니다. 아래의 코드를 dependency 섹션에 추가합니다.

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>5.4.31.Final</version>
</dependency>

3. 데이터베이스 설정하기

application.properties 또는 application.yml 파일에 데이터베이스 연결 정보를 설정해야 합니다. 데이터베이스 유형, URL, 사용자명, 비밀번호 등을 설정해야 합니다.

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydatabase
    username: <your-username>
    password: <your-password>
  jpa:
    hibernate:
      ddl-auto: update

이 예제에서는 MySQL 데이터베이스를 사용하며, username과 password는 사용자가 정의해야 합니다. 또한, hibernate.ddl-auto를 “update”로 설정하면 애플리케이션을 실행할 때 Hibernate가 테이블 스키마를 자동으로 생성하거나 업데이트합니다.

4. 엔티티(Entities) 생성하기

Hibernate를 사용하려면 엔티티 클래스를 생성해야 합니다. 엔티티 클래스는 데이터베이스 테이블에 매핑되는 Java 객체입니다. 각 필드는 해당 열과 매핑됩니다.

@Entity
@Table(name = "products")
public class Product {
  
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;
  
  @Column(name = "name")
  private String name;
  
  // Getters and Setters
}

5. JPA Repositories 생성하기

JPA Repositories는 데이터베이스에 액세스하기 위한 인터페이스입니다. Spring Data JPA를 사용하여 Repositories를 생성할 수 있습니다.

@Repository
public interface ProductRepository extends JpaRepository<Product, Long> {

  // Custom queries can be added here
}

6. 애플리케이션 실행하기

Spring Boot 애플리케이션을 실행하고, Hibernate는 엔티티 클래스와 설정된 데이터베이스 정보를 기반으로 데이터베이스 테이블을 생성하거나 업데이트합니다. 이후에는 JPA Repositories를 사용하여 데이터베이스와 상호작용할 수 있습니다.

이상으로 Hibernate와 Spring Boot의 연동 방법을 알아보았습니다. 이를 통해 간단하게 데이터베이스와의 상호작용을 구현할 수 있습니다. 자세한 내용은 Hibernate와 Spring Boot의 공식 문서를 참조하시기 바랍니다.

참고 자료: