Hi,

I would consider telling Hibernate to log the SQL it is generating to a
file. This can be done by setting the logging category org.hibernate.SQL to
debug, and for the parameters used in the prepared statements I think you
must also enable org.hibernate.type on debug (I have not managed to get this
working under JBoss though).

The produced output should look something like so:

2010-02-10 08:04:18,726 DEBUG [org.hibernate.SQL]
    /* named HQL query MessagingSession.findMessages */ select
        message0_.ID_ as col_0_0_
    from
        JBPM_MESSAGE message0_
    where
        message0_.DESTINATION_=?
        and message0_.ISSUSPENDED_<>true
        and (
            message0_.EXCEPTION_ is null
        )

Cheers,

Andy


On 9 February 2010 11:00, Willy-Bas Loos <willy...@gmail.com> wrote:

> Hi,
> I'm trying to log statements that are being fired from hibernate, so that i
> can benchmark them without hibernate itself.
> I want to fire the SQL at the database directly and see what difference i
> can make by tweaking things.
>
> But when i set log_statement = 'all', the logging looks like this:
>
> 2010-02-09 00:12:32 CET LOG:  execute <unnamed>: select nextval
> ('schema.sequence')
> 2010-02-09 00:12:32 CET LOG:  execute <unnamed>: insert into schema.tabe
> (field1, field2, field3, ...) values ($1, $2, $3, ...)
> 2010-02-09 00:12:32 CET DETAIL:  parameters: $1 = '1', $2 = NULL, $3 =
> '654767', ...)
>
> Now, how can i get these $1 etc values to be replaced with their values, so
> that i can produce valid SQL?
> Is there a postgresql.conf setting, or maybe some perl script that goes
> around?
> (of course, it's more than just 3 lines.... I can't do it by hand.)
>
> thx!
>
> WBL
>
> --
> "Patriotism is the conviction that your country is superior to all others
> because you were born in it." -- George Bernard Shaw
>

Reply via email to