How to print a query string with parameter values when using Hibernate

To print a Hibernate query string with parameter values, you can use the toString() method of the Query interface. This method returns a string representation of the query, including the parameter values.

For example, consider the following Hibernate query:

String hql = "FROM User WHERE username = :username AND password = :password";
Query query = session.createQuery(hql);
query.setParameter("username", "john");
query.setParameter("password", "123456");

To print the query string with the parameter values, you can use the following code:

System.out.println(query.toString());

This will print the following string:

FROM User WHERE username = 'john' AND password = '123456'

Note that this method will only work if the query has already been executed. If the query has not yet been executed, the parameter values will not have been set, and the resulting string will not include the parameter values.

I hope this helps! Let me know if you have any questions.