Gradle 의존성 추가
build.gradle 파일에 아래와 같이 JPA 및 DB Connector 의존성을 추가합니다:
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'mysql:mysql-connector-java' // 또는 사용하는 DB에 맞는 connector
}
DB 정보 설정 (application.properties)
DB 접속정보와 JPA 관련 옵션을 설정합니다:
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 클래스를 생성해야 합니다:
@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 인터페이스를 정의합니다:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
Service 클래스 구현
Repository를 통해 비즈니스 로직을 처리하는 Service 클래스를 만듭니다:
@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를 구현합니다:

@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, 커스텀 쿼리 등을 추가할 수 있습니다.