相关疑难解决方法(0)

如何在Spring Boot中记录SQL语句?

我想在文件中记录SQL语句.
我有以下属性application.properties

spring.datasource.url=...
spring.datasource.username=user
spring.datasource.password=1234
spring.datasource.driver-class-name=net.sourceforge.jtds.jdbc.Driver

spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true

security.ignored=true
security.basic.enabled=false

logging.level.org.springframework.web=INFO
logging.level.org.hibernate=INFO
logging.file=c:/temp/my-log/app.log
Run Code Online (Sandbox Code Playgroud)

当我运行我的应用程序

cmd>mvn spring-boot:run
Run Code Online (Sandbox Code Playgroud)

我可以在控制台中看到sql语句,但它们不会出现在app.log文件中.该文件仅包含spring的基本日志.

如何在日志文件中查看sql语句?

java logging spring hibernate spring-boot

291
推荐指数
15
解决办法
26万
查看次数

Spring Boot和Spring数据:Hibernate Sessions是如何管理的?

我目前正在开发一个使用Spring Boot和Spring Data(它的JpaRepository接口准确)和Hibernate的应用程序.

我喜欢Hiberante的一个方面是它的缓存功能 - 当你提交与特定对象匹配的多个查询时,你将在每次查询执行时返回该对象的相同实例(相对于Java的==运算符).但是,在使用Spring Data和JpaRepository类时,情况似乎并非总是如此.出于这个原因,我假设这里有多个HibernateSession实例在工作.

因此我的问题是:Spring Data如何处理Hibernate会话?什么时候打开或关闭它们?有没有办法将它配置为对我的应用程序的整个运行时使用相同的会话来充分利用Hibernate的对象缓存?有没有理由这样做?

谢谢,

艾伦

session hibernate jpa spring-data spring-boot

42
推荐指数
1
解决办法
2万
查看次数

Hibernate批量大小混乱

该程序一个接一个地执行数万个连续插入.我以前从未使用过Hibernate.我的性能非常慢(如果我只是手动连接并执行SQL,我的速度要快10-12倍.根据许多hibernate教程,我的batch_size设置为50.

这是一个来自单个插入的日志 - 也许你可以帮我理解究竟发生了什么:

START INSERT
11:02:56.121 [main] DEBUG org.hibernate.impl.SessionImpl - opened session at timestamp: 13106053761                                                                                            
11:02:56.121 [main] DEBUG o.h.transaction.JDBCTransaction - begin                                                                                                                               
11:02:56.121 [main] DEBUG org.hibernate.jdbc.ConnectionManager - opening JDBC connection                                                                                                             
11:02:56.121 [main] TRACE o.h.c.DriverManagerConnectionProvider - total checked-out connections: 0                                                                                                    
11:02:56.121 [main] TRACE o.h.c.DriverManagerConnectionProvider - using pooled JDBC connection, pool size: 0                                                                                          
11:02:56.121 [main] DEBUG o.h.transaction.JDBCTransaction - current autocommit status: false                                                                                                    
11:02:56.121 [main] TRACE org.hibernate.jdbc.JDBCContext - after transaction begin                                                                                                             
11:02:56.121 [main] TRACE org.hibernate.impl.SessionImpl - setting flush mode to: MANUAL                                                                                                       
11:02:56.121 [main] …
Run Code Online (Sandbox Code Playgroud)

java hibernate jdbc

30
推荐指数
2
解决办法
5万
查看次数

标签 统计

hibernate ×3

java ×2

spring-boot ×2

jdbc ×1

jpa ×1

logging ×1

session ×1

spring ×1

spring-data ×1