작성
·
179
0
9강에서 h2데이터 베이스에 자연스럽게 저장이 되는것으로 연결이 되는데 CrudRepository를 사용할 경우 h2데이터 베이스로 자옫적으로 연결이 되는건가요?
아니면 h2데이터베이스의 경우는 콘솔의 역할만 하고
기본적으로 jdbc서버에 생성된 데이터베이스에 접근하는 방식인건가요?
답변 1
0
CrudRepository
는 Spring Data JPA가 제공하는 인터페이스 중 하나로, 기본적인 CRUD(Create, Read, Update, Delete) 작업을 추상화합니다. 이를 사용하면 개발자는 간단한 인터페이스 정의만으로 데이터베이스에 대한 기본적인 작업을 수행할 수 있습니다.
H2 데이터베이스와 CrudRepository
를 함께 사용할 때의 동작 방식은 다음과 같습니다:
H2 데이터베이스 연결: Spring Boot 애플리케이션에서 H2 데이터베이스를 설정하면, 애플리케이션이 시작될 때 H2 데이터베이스 인스턴스가 메모리에 생성됩니다.
데이터 소스 설정: application.properties
또는 application.yml
파일에서 H2 데이터베이스에 대한 설정을 합니다. 이 설정에는 데이터베이스 URL, 사용자 이름 및 비밀번호 등이 포함될 수 있습니다.
JPA 구성: JPA 엔티티 클래스를 정의하고, CrudRepository
인터페이스를 확장한 리포지토리 인터페이스를 만듭니다.
데이터베이스 작업: 애플리케이션에서 CrudRepository
를 사용하여 엔티티를 저장, 조회, 수정, 삭제합니다. 이 때, Spring Data JPA는 H2 데이터베이스와 연동하여 자동으로 필요한 SQL 쿼리를 생성하고 실행합니다.
결론적으로, CrudRepository
를 사용할 경우, H2 데이터베이스는 자동으로 연결되며, 애플리케이션에 내장된 H2 인메모리 데이터베이스를 직접 사용하게 됩니다. 물론, 개발 환경에서는 H2를 사용하고, 실제 운영 환경에서는 다른 데이터베이스(예: MySQL, PostgreSQL)를 사용하는 것이 일반적입니다.
그렇다면 제가 MySQL이나 오라클로 바꾸려면 애플리케이션 properties와 gradle파일에 있는 의존성을 수정하면 되는건가요?
추가로 서버를 종료해도 데이터 베이스에 계속 저장해 두고 싶을땐 어떻게 하면 될까요?