https://forums.hibernate.org/viewtopic.php?t=942574&view=next&sid=df01a94edccb24c6236b0ef337f59b88)this is not necessarily a problem, just unusual. (i'll change its logging to INFO rather than WARNING.) what it means is that the same statement has already been prepared by this Connection, and that this other instance has not yet been closed, so the statement pool has to prepare a second PreparedStatement object rather than reusing the previously-cached Statement. The duplicate Statement will be cached, in case you frequently need multiple instances of this PreparedStatement open simultaneously. it might indicate a problem, in that you or hibernate or somebody may not be closing PreparedStatements after use, which would delay Statement check-in until Connection close, and make these messages come up every time you prepare the same SQL twice on the same open Connection. But it might well be that your app just wants two PreparedStatement objects based in the same SQL (and other params, and from the same cxn) open at the same time, which is perfectly legit. perhaps you simply happened to change your query to HQL that translates into the same SQL text that appears or is autogenerated elsewhere, and hibernate is keeping all the prepared statements it's gonna need open for the duration of a session? if so, that's not a problem.