@OneToOne(facultatif=false) et les annotations @JoinColumn(nullable=false)

Je suis tombé sur cet exemple en JPA 2.0 FR Spécification, 11.1.37. OneToOne Annotation, page 403:

@OneToOne(optional=false)
@JoinColumn(name="CUSTREC_ID", unique=true, nullable=false, updatable=false)
public CustomerRecord getCustomerRecord() { return customerRecord; }

Est-il une raison que je devrais mettre @OneToOne(optional=false) et, en même temps, mettre @JoinColumn(... nullable=false)?

Ne sont pas ces deux déclarations de la même manière? N'est-ce pas un pléonasme?
Sont tous les deux utilisés dans DDL génération de schéma?

OriginalL'auteur Piotr Nowicki | 2011-11-25