IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

Comment créer une colonne dans mysql de type longblob


Sujet :

JPA Java

  1. #1
    Membre éprouvé Avatar de yakanet
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Par défaut Comment créer une colonne dans mysql de type longblob
    Bonjour à tous,

    Je tourne actuellement sur un glassfish V2 + Mysql 5.
    Je cherche tout simplement à créer avec mes EJB entity une colonne de type LONGBLOB, de manière à pouvoir stocker un fichier dans ma base de données.


    Donc à l'heure actuelle voici mon code de l'EJB Entity (j'essaye de faire un type LongBlob avec ces différentes annotations)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @Lob
        @Column(length=10000000)
        public byte[] getDocument() {
            return document;
        }
     
        public void setDocument(byte[] document) {
            this.document = document;
        }

    Lorsque j'essaye d'ajouter un fichier un petit peu gros (~2mo) j'ai une
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Local Exception Stack: 
    Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build b58g-fcs (09/07/2007))): oracle.toplink.essentials.exceptions.DatabaseException
    Internal Exception: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'DOCUMENT' at row 1
    Error Code: 0
    Call: INSERT INTO RENDUDOCUMENT (ID, DOCUMENT) VALUES (?, ?)
            bind => [5, [B@171d740]
    Query: InsertObjectQuery(com.mysociete.correction.entities.RenduDocument[id=5])
    Donc ma question est comment puis-je faire ce type longblob avec mon EJB entity ?

  2. #2
    Membre éprouvé Avatar de yakanet
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Par défaut
    Oki c'est bon je viens de trouver :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        @Lob
        @Column(length=10000000, columnDefinition="longblob")
        public byte[] getDocument() {
            return document;
        }
     
        public void setDocument(byte[] document) {
            this.document = document;
        }
    C'est grace au columnDefinition que l'on peut spécifier explicitement le type de la colonne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment créer une date dans un champ input de type text
    Par le maire dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 05/06/2014, 11h58
  2. [VB.NET] Comment créer une table dans base de données ?
    Par ptitesouris dans le forum VB.NET
    Réponses: 3
    Dernier message: 03/05/2006, 08h46
  3. [9iR2][PL/SQL] Comment créer une vue dans un package ?
    Par mainecoon dans le forum Oracle
    Réponses: 6
    Dernier message: 22/02/2006, 08h10
  4. Comment créer une somme dans un état?
    Par ivan rung dans le forum Access
    Réponses: 6
    Dernier message: 20/01/2006, 07h56
  5. Comment créer une Table dans 1 Bdd ACCESS avec Builder??
    Par makandja dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/03/2004, 20h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo