Comment afficher les requêtes SQL émises par Hibernate pour définir le niveau de transaction et la validation automatique
P粉734486718
P粉734486718 2023-09-13 10:04:00
0
1
493

Sur mon serveur MySQL, dans les logs généraux je vois beaucoup de logs comme ceci :

2023-03-31T09:31:23.208-07:00   2023-03-31T16:31:23.208345Z37028 Query SET autocommit=0
2023-03-31T09:31:23.211-07:00   2023-03-31T16:31:23.211201Z36956 Query set session transaction read write
2023-03-31T09:31:23.211-07:00   2023-03-31T16:31:23.211807Z36957 Query /* dynamic native SQL query */ select now() /*app health check*/
2023-03-31T09:31:23.255-07:00   2023-03-31T16:31:23.255990Z36995 Query set session transaction read write
2023-03-31T09:31:23.273-07:00   2023-03-31T16:31:23.273013Z36957 Query set session transaction read write
2023-03-31T09:31:23.276-07:00   2023-03-31T16:31:23.276323Z36956 Query SET autocommit=0
2023-03-31T09:31:23.320-07:00   2023-03-31T16:31:23.320214Z36995 Query SET autocommit=0
2023-03-31T09:31:23.334-07:00   2023-03-31T16:31:23.334801Z36957 Query SET autocommit=0
2023-03-31T09:31:23.461-07:00   2023-03-31T16:31:23.461897Z37056 Query rollback

Cependant, j'aimerais les voir dans les journaux des clients. Je suis très rouillé avec Java, alors soyez indulgents avec moi. Si cela peut aider, la question que je pose ressemble beaucoup à celle-ci, même si la réponse acceptée ne l'a pas non plus résolue pour moi (c'est une question distincte) :/

J'ai un fichier YAML et j'essaie d'activer les fonctionnalités suivantes :

logging:
  levels:
  - path: org.hibernate
    value: trace
  - path: org.hibernate.SQL
    value: debug
  - path: org.jooq
    value: trace
  - path: com.amazonaws
    value: debug
  - path: com.zaxxer
    value: debug
  - path: com.mysql
    value: debug
  - path: org.hibernate.engine.transaction.internal.TransactionImpl
    value: debug
  - path: com.mysql.clusterj.core.TransactionImpl
    value: debug
  - path: org.hibernate.jpa.internal.TransactionImpl
    value: debug

P粉734486718
P粉734486718

répondre à tous(1)
P粉155128211

Hibernate n'envoie pas ces requêtes. C'est le driver JDBC qui les envoie. L'API JDBC pertinente est java.sql.Connection.setAutoCommit(), qui, dans un environnement de conteneur, est généralement appelée par un pool de connexions.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!