-
SpringData JPA를 사용하여 구조를 변경 한 경우 데이터베이스를 처리하는 방법카테고리 없음 2020. 8. 20. 23:23
질문
저는 Spring Boot를 처음 사용하고 어제이 문제에 직면하여 해결책을 찾을 수 없으므로 마지막 기회입니다.data4D.java라는이 엔티티와 JpaRepository data4dJpaRepository를 만들었습니다.
@Entity @Data @AllArgsConstructor @NoArgsConstructor @ToString public class Data4D { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private Double dim1; private Double dim2; private Double dim3; private Double dim4; public Data4D(Double dim1,Double dim2,Double dim3,Double dim4) { this.dim1 = dim1; this.dim2 = dim2; this.dim3 = dim3; this.dim4 = dim4; } }
Data4dRepository.java :
public interface Data4dRepository extends JpaRepository<Data4D, Long>{ }
하지만 50 개의 dim이있는 테이블이 있다면 POJO class에 50 개의 dim을 모두 추가하는 것은 좋지 않습니다.두 번째 시나리오로 열 이름이 다른 구조가 다른 데이터베이스를 가리키는 경우 엔티티를 추가하고 모든 절차를 처음부터 반복해야하거나 모든 시나리오를 처리하는 일반적인 메소드가 있어야합니다.
답변1
- 50, 당신은 희미한 목록을 사용할 수 있습니다
List<Double> dims = new ArrayList<>();
- 스키마의 차이, 데이터 마이그레이션을 위해 liquibase를 사용할 수 있습니다.https://docs.liquibase.com/home.html
이것은 liquibase와 spring boot를 통합하는 좋은 튜토리얼입니다.https://www.baeldung.com/liquibase-refactor-schema-of-java-app