We discovered a problem with the flush operation of the entitymanager.
If you try to delete an entity, which is referenced by another, this results in a constraint violation exception at flush or commit time, which is fine. BUT, if you force the entitymanager to flush its statements to the database and one of these statements causes a constraint violation the transaction seems to get terminated. The causing exception is thrown and can be caught but if you do so, you cant react to it by database operations since you dont have an active transaction anymore.
Did anyone else experience this behavior.
Is that a known bug?
Which JIRA tracking system would be the right one for this problem (hibernate of jboss ejb3).
Why does flush itself handle the exception, why doesnt it simply rethrow it?
Any comments are appreciated.
Regards, Milan Wölke