Personally having entities dirtied as part of a read-only transaction sounds like an application bug to me. We could try to detect a read-only transaction state (not sure how we'd do that across all cases) and circumvent the flush there, but that would add unnecessary overhead to applications that do the right thing.
On Thu, Oct 30, 2014 at 8:44 AM, Guillaume Smet <guillaume.s...@gmail.com> wrote: > Hi! > > Starting with HHH-8487, when we execute a native query, an auto-flush > is executed (and might be limited with addSynchronizedEntityClass and > allegates). > > While I understand the rationale of this change, we are having a few > issues with this when the transaction opened is read-only which is the > case for all our read-only queries: Hibernate tries to flush the dirty > entities in a read-only transaction and fails. > > The heart of the issue here is that we have dirty entities which > shouldn't be dirty (see my post on embedded and dirtiness) but I'm > wondering if it's a behavior which was missed by this patch or > something intentional. So I thought I might as well report it. > > -- > Guillaume > _______________________________________________ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev