java - 即使启用所有属性后,Hibernate 也不记录触发的 SQL 查询

标签 java spring hibernate logging

我使用 hibernate 属性启用了日志记录,但仍然看不到正在触发的 SQL 查询

这是我的 Spring 配置代码:

        @Bean
        public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
            final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
            em.setDataSource(dataSource());
            em.setPackagesToScan("models");

            final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
            em.setJpaVendorAdapter(vendorAdapter);
            em.setJpaProperties(hibernateProperties());
            return em;
        }
        private Properties hibernateProperties() {
            return new Properties() {
                {
                    setProperty("hibernate.hbm2ddl.auto", hbm2ddlScheme);
                    setProperty("hibernate.dialect", dbDialect);
                    setProperty("hibernate.globally_quoted_identifiers", "true");
                    setProperty("hibernate.use_sql_comments", "true");
                    setProperty("hibernate.generate_statistics", "true");
                    setProperty("format_sql", formatSQL);
                    setProperty("show_sql", showSQL);
                    setProperty("hibernate.cache.region.factory_class", "org.hibernate.cache.ehcache.EhCacheRegionFactory");
                    setProperty("hibernate.cache.use_second_level_cache", "true");
                    setProperty("hibernate.cache.use_query_cache", "true");
                    setProperty("hibernate.cache.use_structured_entries", "true");
                    setProperty("net.sf.ehcache.configurationResourceName", "myehcache.xml");
                }
            };
        }

不过我确实看到了 session 统计数据。我还想查看正在触发的查询。

最佳答案

尝试使用 hibernate.show_sqlhibernate.format_sql 而不是 show_sqlformat_sql

关于java - 即使启用所有属性后,Hibernate 也不记录触发的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45899170/

相关文章:

java - 使用 getAttribute 方法获取类的值

xml - 通过 XML 而不是注解注入(inject) Entitymanager

java - 加载资源 css 文件失败。自由标记

java - 如何在使用新生成的实体标识符时深度复制 Hibernate 实体

java - 用于 spring boot 应用程序的 hibernate 投影

java - 将电话号码编码为单词并搜索字典

Java 11 SE 控制台输出

java - 在排序链表中添加方法

java - Spring 中的表单处理

java - Spring启动找不到HIBERNATE_SEQUENCE