-
@Basic
signifie qu'un attribut doit être conservé et qu'un mappage standard doit être utilisé. Il possède des paramètres qui vous permettent de spécifier si l'attribut doit être chargé paresseusement et s'il est nullable.
-
@Column
vous permet de spécifier le nom de la colonne de la base de données vers laquelle l'attribut doit être persistant.
Si vous spécifiez l'un sans l'autre, vous obtiendrez un comportement par défaut, ce qui est raisonnable, et les gens n'en utilisent généralement qu'un seul, sauf dans des cas particuliers.
Donc si nous voulons un chargement paresseux d'un attribut et spécifier un nom de colonne, nous pouvons dire
@Basic(fetch=FetchType.LAZY)
@Column(name="WIBBLE")
Si nous avons besoin d'un comportement par défaut, non paresseux, alors il suffit d'utiliser l'option @Column
aurait été suffisante.