java gradle 프로젝트에 jpa를 설정하는 방법을 단계적으로 설명하고 JPA사용 샘플 코드를 작성

Java Gradle 프로젝트에 JPA를 설정하려면, Gradle 의존성 추가부터 DB정보 입력, Entity 및 Repository 작성, 서비스/컨트롤러 구현까지 단계적으로 진행합니다.

Gradle 의존성 추가

build.gradle 파일에 아래와 같이 JPA 및 DB Connector 의존성을 추가합니다:

groovy
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'mysql:mysql-connector-java' // 또는 사용하는 DB에 맞는 connector
}

DB 정보 설정 (application.properties)

DB 접속정보와 JPA 관련 옵션을 설정합니다:

text
spring.datasource.url=jdbc:mysql://localhost:3306/{database_name}
spring.datasource.username={username}
spring.datasource.password={password}
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

Entity 클래스 생성

JPA에서는 DB 테이블과 매핑되는 Entity 클래스를 생성해야 합니다:

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

@Column(name = "name")
private String name;

@Column(name = "email")
private String email;

// getters and setters
}

Repository 인터페이스 생성

Entity 기반으로 CRUD 수행을 위한 Repository 인터페이스를 정의합니다:

java
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}

Service 클래스 구현

Repository를 통해 비즈니스 로직을 처리하는 Service 클래스를 만듭니다:

java
@Service
public class UserService {
@Autowired
private UserRepository userRepository;

public List<User> getUsers() {
return userRepository.findAll();
}

public User createUser(User user) {
return userRepository.save(user);
}
}

Controller 클래스 구현 (예시)

서비스를 호출하여 CRUD API를 구현합니다:

java
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;

@GetMapping
public List<User> getUsers() {
return userService.getUsers();
}

@PostMapping
public User createUser(@RequestBody User user) {
return userService.createUser(user);
}
}


요약 단계

  • Gradle 의존성 추가 → DB 정보 입력 → Entity/Repository/Service/Controller 순으로 구현.

  • 위 예제를 통해 기본적인 JPA 환경을 완성, 필요한 경우 @Transactional, 커스텀 쿼리 등을 추가할 수 있습니다.