Problem 1) Using {{AvailableSettings.ALLOW_UPDATE_OUTSIDE_TRANSACTION = "true"}} with {{FlushMode.ALWAYS}}: the inserts are automatically saved to the DB without need to call flush(). But the update does NOT behave the same way - there is no warning or anything, just the old data.
Problem 2) Using {{AvailableSettings.ALLOW_UPDATE_OUTSIDE_TRANSACTION = "true"}} with {{FlushMode.AUTO}}: neither the inserts or the updates are saved to the DB and there is NO warning. But if a flush() is called the data is saved.
Problem 3) Without {{AvailableSettings.ALLOW_UPDATE_OUTSIDE_TRANSACTION = "true"}} i.e. the pre Hibernate 5.2 behaviour the same test cases behave VERY differently: the insert with {{FlushMode.ALWAYS}} doesn't save to the DB and no warnings or anything in the log. It fails in the same way as the case [no transaction, FlushMode.AUTO, no flush].
The test case class is called {{NoTransaction.java}} |
|