2017-09-18 8 views
0

私はspringboot、spring jpaリポジトリ、および休止状態を使用しています。どのようにしてhibernateの保存方法で詳細情報を取得できますか?

私はオブジェクトの上保存を作成しようとしていると私はエラーを取得: SQLエラー:8152が、SQLStateの:私はapplication.propertiesで22001

spring.jpa.show-sql=true 

spring.jpa.properties.hibernate.use_sql_comments=true 

spring.jpa.properties.hibernate.format_sql=true 

が、コンソール内の情報は次のとおりです。

私の場合は
insert into Table(field1, field2, field3) 
     values 
      (?, ?, ?) 

私が持っているアボ私はどのフィールドを問題の原因としているかを調べるためにこれをデバッグする方法を知らない。たとえば、SQL Serverでテストするデータを含むクエリ。

これについての詳しい情報を得る方法はありますか?

おかげ

+2

application.properties' 'でログレベルを変更しようとすることができます。 'logging.level.org.hibernate = DEBUG'や ' logging.level.org.hibernate.SQL = DEBUG'やカスタム 'logback.xml'のようなものもっと詳しい情報:https://stackoverflow.com/q/30118683/1032167 – varren

+0

詳細を表示、私が必要とする情報は正確ではありませんが、それだけで十分です。 – davisoski

答えて

0

必要なのは、生成されたSQLとそのクエリに渡された値を取得することです。

  1. application.propertiesに

    logging.file =ログ/ demo.logをログファイル名を宣言し

  2. logback-spring.xmlで適切なアペンダとロガー

を提供

SQLを取得するには

<logger name="org.hibernate.SQL" level="DEBUG" additivity="true"> 
    <appender-ref ref="CONSOLE" /> 
    <appender-ref ref="FILE" /> 
</logger> 
SQLがバインドさ得るためにの

偶然に

<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" additivity="true"> 
    <appender-ref ref="CONSOLE" /> 
    <appender-ref ref="FILE" /> 
</logger> 
関連する問題