it is strange, I create a reproducer that uses only hibernate and using optional = false fixes the issue