Java 在控制台中打印TypedQuery
如何在eclipse控制台中执行Java 在控制台中打印TypedQuery,java,hibernate,jpa,Java,Hibernate,Jpa,如何在eclipse控制台中执行sysoutTypedQuery。我正在尝试使用.toString(),但它不起作用 请在下面找到我的java代码 TypedQuery<PartFactor> query = entityManager .createQuery("from PART where partNo = :partNo ", Part.class); query.setParameter("partNo", p
sysout
TypedQuery。我正在尝试使用.toString()
,但它不起作用
请在下面找到我的java代码
TypedQuery<PartFactor> query = entityManager
.createQuery("from PART where partNo = :partNo ", Part.class);
query.setParameter("partNo", partNo);
query.setMaxResults(1);
System.out.println("isPartNoExists -->"+query.toString());
TypedQuery query=entityManager
.createQuery(“来自partNo=:partNo的零件”,PART.class);
query.setParameter(“零件号”,零件号);
query.setMaxResults(1);
System.out.println(“isPartNoExists-->”+query.toString());
您需要为以下类别启用日志记录:
org.hibernate.SQL - set to debug to log all SQL DML statements as they are executed
org.hibernate.type - set to trace to log all JDBC parameters
因此,log4j配置可能如下所示:
# logs the SQL statements
log4j.logger.org.hibernate.SQL=debug
# Logs the JDBC parameters passed to a query
log4j.logger.org.hibernate.type=trace
第一个属性相当于hibernate.show_sql=true legacy属性,第二个属性打印绑定的参数以及其他内容
另一个解决方案(非基于hibernate)是使用像P6Spy这样的JDBC代理驱动程序
如果正在使用spring boot,只需配置以下内容:
应用程序
logging:
level:
org.hibernate.SQL: DEBUG
org.hibernate.type: TRACE
应用性能
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type=TRACE
没别的了
您的日志如下所示:
2020-11-01 | DEBUG | o.h.SQL:127 - insert into Person (id, name, title, id) values (?, ?, ?, ?)
您需要为以下类别启用日志记录:
org.hibernate.SQL - set to debug to log all SQL DML statements as they are executed
org.hibernate.type - set to trace to log all JDBC parameters
因此,log4j配置可能如下所示:
# logs the SQL statements
log4j.logger.org.hibernate.SQL=debug
# Logs the JDBC parameters passed to a query
log4j.logger.org.hibernate.type=trace
第一个属性相当于hibernate.show_sql=true legacy属性,第二个属性打印绑定的参数以及其他内容
另一个解决方案(非基于hibernate)是使用像P6Spy这样的JDBC代理驱动程序
如果正在使用spring boot,只需配置以下内容:
应用程序
logging:
level:
org.hibernate.SQL: DEBUG
org.hibernate.type: TRACE
应用性能
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type=TRACE
没别的了
您的日志如下所示:
2020-11-01 | DEBUG | o.h.SQL:127 - insert into Person (id, name, title, id) values (?, ?, ?, ?)
尝试将Hibernate的日志记录设置为“调试”级别以查看生成的SQL。尝试将Hibernate的日志记录设置为“调试”级别以查看生成的SQL。