Я думаю, что страница, на которую вы ссылались, объясняет это лучше, хотя я не уверен, почему она рекомендует установить constrained="true"
. Если вы думаете об этом на уровне базы данных, Hibernate не может определить, должно ли данное свойство (продавец Дилера) быть нулевым или нет, не обращаясь к базе данных (ему нужно сделать SELECT ... WHERE OID=:sellerOrDealerId
, чтобы увидеть, возвращаются ли какие-либо строки) , И пока он попадает в базу данных, он может также извлечь остальную часть строки. С другой стороны ассоциации (дилер продавца) таких проблем нет, поскольку она уже извлекла строку (и, следовательно, столбец SELLER_DEALEROID
).
Однажды я столкнулся с чем-то похожим на это и смог решить эту проблему, сделав ассоциацию необязательной (ошибочно, не обнуляемой)