How to sysout
the TypedQuery
in eclipse console. Am trying with .toString()
and its not working
Please find my java code below.
JavaScript
x
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());
Advertisement
Answer
You need to enable logging for the the following categories:
JavaScript
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
So a log4j configuration could look like:
JavaScript
# logs the SQL statements
log4j.logger.org.hibernate.SQL=debug
# Logs the JDBC parameters passed to a query
log4j.logger.org.hibernate.type=trace
The first is equivalent to hibernate.show_sql=true legacy property, the second prints the bound parameters among other things.
Another solution (non hibernate based) would be to use a JDBC proxy driver like P6Spy.
In case of spring boot is being used , just config this :
aplication.yml
JavaScript
logging:
level:
org.hibernate.SQL: DEBUG
org.hibernate.type: TRACE
aplication.properties
JavaScript
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type=TRACE
and nothing more.
Your log will be something like this:
JavaScript
2020-11-01 | DEBUG | o.h.SQL:127 - insert into Person (id, name, title, id) values (?, ?, ?, ?)