110 votes

@Basic (optionnel = false) vs @Column (nullable = false) dans JPA

Quelle est la différence entre @Basic(optional = false) et @Column(nullable = false) dans la persistance JPA ???

106voto

Pascal Thivent Points 295221

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 optionalet nullable 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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X