Quelle est la différence entre @Basic(optional = false)
et @Column(nullable = false)
dans la persistance JPA ???
Réponse
Trop de publicités?Gordon Yorke (EclipseLink Architecture, Membre du Comité, TopLink de Base Technique en chef, JPA 2.0 Expert Membre du Groupe) a écrit une bonne réponse sur ce sujet, donc au lieu de le paraphrasant, je vais vous citer sa réponse:
La différence entre
optional
etnullable
est l'étendue à laquelle ils sont évalués. La définition de 'optional
"discussions sur la propriété et les valeurs de champ et suggère que cette fonctionnalité devrait être évalué dans le moment de l'exécution. 'nullable
' est seulement dans référence à des colonnes de base de données.Si une mise en œuvre choisit de mettre en oeuvre
optional
puis ceux les propriétés doivent être évaluées en la mémoire par le Fournisseur de Persistance et une exception soulevée devant SQL est envoyé à la base de données autrement lors de l'utilisation de 'updatable=false
' 'optional
' les violations ne serait jamais signalés.