@Column(nullable=false)
- инструкция для генерации схемы.Столбец базы данных, сгенерированный из класса, будет помечен как обнуляемый в фактической базе данных.
optional=false
- инструкция времени выполнения.Основная функциональная вещь, которую он делает, связана с отложенной загрузкой.Вы не можете лениво загрузить сопоставленную сущность, не связанную с коллекцией, если не забудете установить опционально = false (потому что Hibernate не знает, должен ли быть там прокси или ноль, если вы не скажете, что нули невозможны, поэтому он может генерироватьпрокси.)