같은 프로젝트 내에 두 개의 서로 다른 패키지를 사용하려면 다음 단계를 따르십시오.
1. 두 패키지 모두를 포함하는 상위 패키지를 만듭니다. 예를 들어, com.example를 상위 패키지로 사용할 수 있습니다.
2. 상위 패키지에 있는 메인 클래스를 생성하십시오. 예를 들어, com.example.MainApplication을 만들고 다음 코드를 추가합니다.
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan(basePackages = {"com.example.booklist", "com.example.healthcomplex"})
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
3. 프로젝트의 패키지 구조를 다음과 같이 변경하십시오.
com.example
├─ MainApplication.java
├─ booklist
│ ├─ BooklistApplication.java
│ ├─ Controller
│ │ └─ BookController.java
│ ├─ domain
│ │ └─ Book.java
│ ├─ repository
│ │ └─ BookRepository.java
│ └─ service
│ └─ KakaoBooksService.java
└─ healthcomplex
├─ controller
│ └─ MemberController.java
├─ domain
│ └─ Member.java
├─ repository
│ └─ MemberRepository.java
└─ service
└─ MemberService.java
JPA를 사용하면 자동으로 테이블이 생성되거나 업데이트됩니다. 테이블이 없으면 만들도록 설정하려면 application.properties 또는 application.yml 파일에 다음 설정을 추가해야 합니다.
application.properties 파일의 경우:
spring.jpa.hibernate.ddl-auto=update
application.yml 파일의 경우:
spring:
jpa:
hibernate:
ddl-auto: update
ddl-auto 옵션은 다음 값을 가질 수 있습니다:
none: 자동 DDL 실행을 사용하지 않습니다.
validate: 변경된 스키마와 기존 스키마가 일치하는지 검사합니다.
update: 기존 스키마를 변경된 스키마로 업데이트합니다. 테이블이 없으면 생성합니다.
create: 실행 시 모든 테이블을 삭제한 다음 새로 생성합니다.
create-drop: 실행 시 새로운 테이블을 생성하고, 애플리케이션 종료 시 테이블을 삭제합니다.
이 설정을 적용하면 테이블이 없는 경우 자동으로 생성됩니다.