🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

format_sql 설정이 안먹고 로그에 한줄로 쿼리가 나와서 문의드립니다.

20.06.25 18:12 작성 조회수 455

0

아래와 같이 두 군데 모두 설정을 해 봤는데요

format_sql 설정은 안먹네요 ㅜㅜ ;;;

[ 로그 예시 ]

DEBUG org.hibernate.SQL - select lnequest0_.id as id1_0_, lnequest0_.created_at as created_2_0_, lnequest0_.updated_at as updated_3_0_, lnequest0_.deleted_at as deleted_4_0_, lnequest0_.description as descript5_0_, lnequest0_.end_at as end_at6_0_, lnequest0_.reward_amount as reward_a7_0_, lnequest0_.reward_currency as reward_c8_0_, lnequest0_.reward_remain as reward_r9_0_, lnequest0_.reward_total as reward_10_0_, lnequest0_.start_at as start_a11_0_, lnequest0_.thumbnail_url as thumbna12_0_, lnequest0_.title as title13_0_, lnequest0_.type as type14_0_, lnequest0_.user_constraints as user_co15_0_ from korbit.lne_quests lnequest0_ inner join korbit.lne_quizzes quizzlist1_ on lnequest0_.id=quizzlist1_.quest_id limit ?

[yml 설정]

spring:

  profiles: jpa

  jpa:

    database-platform: org.hibernate.dialect.MySQL57Dialect

    database: mysql

    hibernate:

      ddl-auto: validate

      naming:

        implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy

        physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy

    properties:

      hibernate:

#        show_sql: true

        format_sql: true

        use_sql_comments: true

        dialect: org.hibernate.dialect.MySQL57Dialect

#        ddl-auto: validate

        use-new-id-generator-mappings: false

        

 

[ 멀티 database 인스탄스를 위한 DataSource 및 TransactionManager 설정 ]    

@Configuration

@EnableTransactionManagement

@EnableJpaRepositories(entityManagerFactoryRef = "jpaKorbitApiEntityManagerFactory",

        transactionManagerRef = "jpaKorbitApiTransactionManager",

        basePackages = ["xxx.jpa.korbitapi.repository"])  

class JpaKorbitApiConfig {

    @Autowired(required = false)

    private val persistenceUnitManager: PersistenceUnitManager? = null

    @Bean(name = ["jpaKorbitApiDataSource"])

    @ConfigurationProperties(prefix = "spring.datasource.korbitapi")

    fun jpaKorbitApiDataSource(): DataSource {

        val dataSource = DataSourceBuilder.create().type(HikariDataSource::class.java).build()

        //dataSource.connectionInitSql = "SET NAMES utf8mb4; set @@session.time_zone = '+00:00'"

        return dataSource

    }

    @Bean(name = ["jpaKorbitApiEntityManagerFactoryBuilder"])

    fun jpaKorbitApiEntityManagerFactoryBuilder(): EntityManagerFactoryBuilder {

        val adapter = HibernateJpaVendorAdapter()

        adapter.setShowSql(true)

        adapter.setPrepareConnection(true)

        adapter.setDatabase(Database.MYSQL)

        adapter.setDatabasePlatform("org.hibernate.dialect.MySQL57Dialect")

        adapter.setGenerateDdl(false)

        val properties = HashMap<String, String?>()

        properties["hibernate.ddl-auto"] = "validate"

        properties["show_sql"] = "false"

        properties["format_sql"] = "true"

        properties["use_sql_comments"] = "true"

        properties["hibernate.naming.implicit-strategy}"] = org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy

        properties["hibernate.naming.physical-strategy}"] = org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy

        properties["hibernate.use-new-id-generator-mappings"] = "false"

        return EntityManagerFactoryBuilder(

                adapter, properties, persistenceUnitManager)

    }

    

    :::

}

답변 3

·

답변을 작성해보세요.

1

k-dev님의 프로필

k-dev

질문자

2020.06.29

알겠습니다 제가 github 에 데모 코드 올린 후 다시 피드백 드리겠습니다.

0

삽질코딩님의 프로필

삽질코딩

2020.10.04

      hibernate:
#        show_sql: true
        format_sql: true

show_sql 옵션이 주석처리되어 있어서 그런 건 아니었을까요?

0

안녕하세요. kepha님

도움을 드리고 싶은데, 보내주신 내용만으로는 파악이 어렵습니다.

제가 코틀린을 사용하지 않아서, 동작하는 자바 코드를 만들어서, zipkyh@naver.com 으로 메일 주시면 도움을 드리겠습니다.

감사합니다.

채널톡 아이콘