2017-08-01 84 views
1

我做了一個spring數據的git克隆 - jpa。查看使用彈簧數據生成的查詢 - jpa

我搜索一種方式,當我運行測試查看生成的查詢。

+0

[看這個答案](https://stackoverflow.com/questions/30118683/how-to-log-sql-statements-in-spring-boot) – aorticDefiance

+0

不錯,但它是春季開機...所以沒有真的在爲spring-data工作.... –

+0

你只需要設置特定日誌框架的hibernate屬性和日誌級別,同樣的原則適用。你想打開的記錄器: 'org.hibernate.type = TRACE'用於綁定值 'org.hibernate.SQL = DEBUG'爲SQL 您還可以設置該屬性 'hibernate.show_sql = TRUE' 所有取決於你如何在彈簧數據中配置會話工廠。 – aorticDefiance

回答

1

我已與以下測試:

  • 編輯/src/test/resources/META-INF/persistence.xml文件並在cdicdi-52merchantmetadatametadata-52持久性單元的<properties>部分添加以下兩行。

    <property name="hibernate.show_sql" value="true"/> 
    <property name="hibernate.format_sql" value="true"/> 
    
  • 添加下面的線在同一個文件的持久單元的<properties>部分命名metadata_oj

    <property name="openjpa.Log" value="SQL=Trace" /> 
    
  • 編輯src/test/resources/eclipselink.xml文件,並改寫以下部分爲:

    <util:properties id="jpaProperties"> 
        <prop key="javax.persistence.jdbc.driver">org.hsqldb.jdbcDriver</prop> 
        <prop key="javax.persistence.jdbc.url">jdbc:hsqldb:mem:hades</prop> 
        <prop key="javax.persistence.jdbc.user">sa</prop> 
        <prop key="javax.persistence.jdbc.password"></prop> 
        <prop key="javax.persistence.ddl-generation">create-tables</prop> 
    
        <prop key="eclipselink.logging.level.sql">FINE</prop> 
        <prop key="eclipselink.logging.parameters">true</prop> 
    </util:properties> 
    
  • 另外,請編輯src/test/resources/openjpa.xml文件的以下部分:

    <util:properties id="jpaProperties"> 
        <prop key="openjpa.Log">SQL=Trace</prop> 
    </util:properties> 
    

然後,您可以運行mvn test測試的項目,並檢查您是否可以看到生成的查詢或不是。