Comment Dire JPA la préférence de Type de données
Si j'utilise JPA (EclipseLink) pour créer des tables de type Chaîne de résultats dans un varchar2(255). Comment pouvais-je dire à JPA (via l'Annotation) pour créer un varchar2(20) de l'attribut.
Si j'ai une Liste de JPA crée un BLOB(4000) mais je voudrais un varchar2 (mon objet sérialisé la chaîne est courte)
Comment est-ce possible? Dois-je le faire à la main?
OriginalL'auteur Marcel Menz | 2010-11-03
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser le columnDefinition propriété de l'annotation @Column. c'est à dire
-1 @Pascal réponse ci-dessous, c'est mieux. Il évite la question de la compatibilité causé en faisant explicitement référence au type de données dans votre code.
Ceci est utile pour les situations où vous devez dire à JPA cette colonne est de type NVARCHAR pas VARCHAR(255), mais ce n'est pas le cas.
Ne JPA auto convertir Java type de données Chaîne de SQL du type de Numéro de persistance but?
OriginalL'auteur William
À l'aide de la
columnDefinition
peut briser la portabilité d'une base de données à l'autre. Pour une chaîne de valeur de la colonne, préférez l'utilisation de lalength
élément (qui par défaut est 255):Je pense que vous pouvez améliorer votre réponse à dire à propos de l'attribut pour les valeurs numériques.
OriginalL'auteur Pascal Thivent
Vous pouvez définir la
length
sur votre@Column
annotation, en tant que tel:Noter que la longueur n'est que pour les colonnes de texte. Pour le numérique, vous pouvez utiliser
precision
etscale
.C'est quoi cette baisse de vote?
OriginalL'auteur Steven Benitez
S'il vous plaît, essayez que.
OriginalL'auteur Vladimir Ivanov