Est-il possible de définir une valeur par défaut pour les colonnes dans JPA, et si, comment se fait-il en utilisant les annotations?
Réponses
Trop de publicités?Vous pouvez effectuer les opérations suivantes:
@Column(name="price")
private double price = 0.0;
Il y! Vous avez juste utilisé zéro comme valeur par défaut.
Note va vous servir si vous êtes accédant à la base de données à partir de cette application. Si d'autres applications également utiliser la base de données, alors vous devez faire cette vérification à partir de la base de données à l'aide de Cameron columnDefinition annotation d'un attribut ou d'une autre manière.
JPA ne supporte pas qu’et ce serait utile si il l’a fait. À l’aide de columnDefinition est DB-spécifique et non acceptable dans de nombreux cas. définir une valeur par défaut dans la classe ne suffit pas lorsque vous récupérez un enregistrement ayant des valeurs null (ce qui se produit généralement lorsque vous exécutez à nouveau vieux DBUnit tests). Ce que je fais est la suivante :
Java auto-boxe aide beaucoup en ce que.
Étant donné que je suis tombé sur ceci de Google tout en essayant de résoudre le même problème, je vais juste jeter dans la solution que j’ai concocté dans le cas où une personne estime qu’il est utile.
De mon point de vue il y a vraiment seulement 1 solutions à ce problème--@PrePersist. Si vous le faites dans @PrePersist, vous dois vérifier si le de la valeur déjà bien.