스프링/스프링제이피에이

서비스 기동시 SQL 을 실행시켜 데이터 넣기

wild 2022. 1. 6. 09:35

1. 첫번째 방법

main/java/resources폴더 안에 실행시키고 싶은 sql파일을 넣습니다.

 

설정파일(application.yml이나 application.properties등)에서 아래와 같이 넣어줍니다.

jpa:
    hibernate:
      ddl-auto: create
    show-sql: true
    properties:
      hibernate:
        hbm2ddl.import_files: 'classpath:data.sql'
        hbm2ddl.import_files_sql_extractor: org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor

jpa.properties의 속성으로 hibernate.hbm2ddl.import_files는 기동시 설정한 해당 경로의 SQL을 실행시키기 위한 설정입니다.

 

hibernate.hbm2dd.limport_file_sql_extractor는 로그에 출력되는 포맷을 설정하기 위한 것으로 MultipleLinesSqlCommandExtractor는 여러 줄로 보이게 한다는 설정입니다.

 

위 설정은 classpath안의 data.sql을 서비스기동시 실행하겠다는 의미입니다. 보통 main/java/resources안의 파일들은 classpath로 복제되니 main/java/resources/data.sql파일이 실행될 것입니다.