It turned out, that this issue is (at least partly) due to the following Oracle optimizer setting, that is non-standard: OPT_PARAM('optimizer_index_cost_adj' 20) For details see this stackoverflow discussion: http://stackoverflow.com/questions/41701851/oracle12-outer-join-invents-column-values It would be great, if someone from the Hibernate team can test the attached JUnit test on an Oracle12c with this special optimizer setting. If the test fails it clearly is an Oracle bug and this one can be closed. |