Description
https://www.doctrine-project.org/projects/doctrine-orm/en/3.3/reference/association-mapping.html#mapping-defaults
https://www.doctrine-project.org/projects/doctrine-orm/en/2.20/reference/association-mapping.html#mapping-defaults
This:
Also nullable attribute on JoinColumn will be inherited from PHP type.
is not true. The change that enabled nullability inference was reversed: #8732.
The Annotations Reference chapter in the documentation was updated to reflect the reversal: https://github.com/doctrine/orm/pull/8732/files#diff-73ee81fc89428c88759f9c8cda822ecee129f4deebb9c317f82281d5fae4a74c.
But the Association Mapping chapter was not, probably because the changes there were rolled together as a part of a larger update: b3ed525.
Users who follow the advice of relaying on the defaults and leaving out JoinColumn specification will end up with unexpectedly nullable columns (unless they review DDL statements carefully).