Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

467
Vistas
Spring boot application.properties hibernate.generate_statistics

Después de seguir varios ejemplos y leer la documentación de Spring Boot, todavía no puedo habilitar las estadísticas de hibernación. Estoy configurando la propiedad en el archivo application.properties. Ejecutar la aplicación Spring Boot a través de una prueba de integración o Application.java no produce estadísticas.

Mi archivo application.properties .

 spring.datasource.jdbcUrl=jdbc:postgresql://localhost:5432/postgres spring.datasource.username = postgres spring.datasource.password = password spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.platform=postgres spring.datasource.testWhileIdle = true spring.datasource.validationQuery = SELECT 1 spring.jpa.properties.hibernate.show_sql=true spring.jpa.properties.hibernate.format_sql=true spring.jpa.properties.hibernate.generate_statistics=true logging.level.org.hibernate.SQL=TRACE logging.level.org.hibernate.stat=TRACE logging.file=transaction-app.log

logback-primavera.xml

 <?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/defaults.xml" /> <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/> <include resource="org/springframework/boot/logging/logback/file-appender.xml" /> <root level="INFO"> <appender-ref ref="FILE" /> </root> </configuration>

Y mi prueba de integración

 @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class SqlMappingTest { @Autowired PlanService planService; @org.junit.Test public void findAll() { List<Plan> plans = planService.findAll(); Assert.assertEquals(1, plans.size()); } }

¿Qué me estoy perdiendo?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Funciona para mí (usando Spring Boot 2.1.6.RELEASE).

a) En el archivo application.properties:

 spring.jpa.properties.hibernate.generate_statistics=true

b) Asegúrese de que el nivel de depuración en tiempo de ejecución para 'org.hibernate.stat' sea al menos DEBUG:

 curl -i -X POST -H 'Content-Type: application/json' -d '{"configuredLevel": "DEBUG"}' http://localhost:8080/actuator/loggers/org.hibernate.stat

c) Verifique en el registro algo como:

 2019-07-03 21:27:27.739 DEBUG 11797 --- [nio-8080-exec-3] ohstat.internal.StatisticsImpl : HHH000117: HQL: select count(*) from AppRequest x WHERE x.uuid = :uuid, time: 1ms, rows: 1
over 4 years ago · Santiago Trujillo Denunciar

0

No estoy seguro si lo siguiente es correcto, pero funcionó. Estoy forzando las propiedades en mi LocalContainerEntityManagerFactoryBean con construcción.

Fragmento de DatabaseConfig:

 @Configuration @EnableTransactionManagement @ConfigurationProperties(prefix = "spring.datasource") public class DatabaseConfig extends HikariConfig { @Autowired @Bean public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource, Environment env) { LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean(); entityManagerFactory.setDataSource(dataSource); // Classpath scanning of @Component, @Service, etc annotated class entityManagerFactory.setPackagesToScan(new String[]{"com.test"}); // Vendor adapter HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); entityManagerFactory.setJpaVendorAdapter(vendorAdapter); Properties jpaProperties = new Properties(); jpaProperties.put("hibernate.show_sql", env.getRequiredProperty("spring.jpa.properties.hibernate.show_sql") ); jpaProperties.put("hibernate.format_sql", env.getRequiredProperty("spring.jpa.properties.hibernate.format_sql") ); jpaProperties.put("hibernate.generate_statistics", env.getRequiredProperty("spring.jpa.properties.hibernate.generate_statistics") ); entityManagerFactory.setJpaProperties(jpaProperties); return entityManagerFactory; } }

Después de la configuración

 2017-03-16 11:41:02.881 DEBUG 7884 --- [main] ohsinternal.ConcurrentStatisticsImpl : HHH000117: HQL: select up from UserPlan up, time: 48ms, rows: 1 2017-03-16 11:41:02.885 INFO 7884 --- [main] i.StatisticalLoggingSessionEventListener : Session Metrics { 939077 nanoseconds spent acquiring 1 JDBC connections; 0 nanoseconds spent releasing 0 JDBC connections; 2848386 nanoseconds spent preparing 1 JDBC statements; 12205063 nanoseconds spent executing 1 JDBC statements; 0 nanoseconds spent executing 0 JDBC batches; 0 nanoseconds spent performing 0 L2C puts; 0 nanoseconds spent performing 0 L2C hits; 0 nanoseconds spent performing 0 L2C misses; 0 nanoseconds spent executing 0 flushes (flushing a total of 0 entities and 0 collections); 18693 nanoseconds spent executing 1 partial-flushes (flushing a total of 0 entities and 0 collections) }
over 4 years ago · Santiago Trujillo Denunciar

0

Defina la propiedad hibernate.generate_statistics=true en el archivo hibernate.properties .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda