Are PreparedStatements reused to enhance performance?

Yes. We reuse them across transactions. Some databases may not like that so we provide a way to turn it off by setting a property in the DataSource.

reuseStatements = false/true
        Set statement reuse across transactions to be on or off.
        On by default, except for "datastore" and "db2" dialects