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 :

JPA: création des colonnes dans le désordre


Sujet :

JPA Java

  1. #1
    Membre actif
    Inscrit en
    juin 2005
    Messages
    577
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 577
    Points : 240
    Points
    240
    Par défaut JPA: création des colonnes dans le désordre
    Bonjour

    J'utilise JPA pour créer mes tables de ma base de données mysql:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    @Entity
    @Table(name = "UTILISATEUR")
    @XmlRootElement(name = "user")
    public class User implements Serializable{
     
    	private static final long serialVersionUID = 1L;
     
    	@Id
    	@GeneratedValue(strategy = GenerationType.IDENTITY)
    	@Column(name = "USER_ID", updatable = false, nullable = false)
        private Long id;
     
    	@Column(name = "NOM", unique=true, insertable=true, updatable=true, nullable=false)
        private String nom;
     
    	@Column(name = "Prenom", unique=true, insertable=true, updatable=true, nullable=false)
        private String prenom;
     
    	@Column(name = "LOGIN", unique=true, insertable=true, updatable=true, nullable=false)
        private String login;
     
    	@Column(name = "USER_PASSWORD", insertable=true, updatable=true, nullable=false)
        private String password;
     
    	@Column(name = "ROLE", insertable=true, updatable=true, nullable=false)
        private String role;
     
    	@Column(name = "USER_ACTIVE", insertable=true, updatable = true, nullable=false)
    	@JsonIgnore
    	private Integer active;
    Lors du lancement de l'application, j'ai ceci dans le log:

    create table utilisateur (user_id bigint not null auto_increment, user_active integer not null, login varchar(255) not null, nom varchar(255) not null, user_password varchar(255) not null, prenom varchar(255) not null, role varchar(255) not null, primary key (user_id)) engine=MyISAM
    Pourquoi mes tables sont créées dans cet ordre:

    user_id
    user_active
    login
    nom
    user_password
    prenom
    role
    Au lieu de ça:

    user_id
    nom
    prenom
    login
    user_password
    role
    user_active
    Merci

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    7 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 183
    Points : 9 306
    Points
    9 306
    Billets dans le blog
    1
    Par défaut
    Il faudrait avoir le code qui fait ça mais à la louche, vu le résultat, je dirais qu'il traite en premier l'ID et ensuite qu'il utiliser les propriétés dans l'ordre alphabétique...

    Qu'elle est l'implémentation JPA que tu utilises ?

    Sinon, si ça te gêne, il y a les scripts de création de base de données, ça fait ce qu'on demande, dans l'ordre qu'on demande et rien que ce qu'on demande... pas de surprises...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre actif
    Inscrit en
    juin 2005
    Messages
    577
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 577
    Points : 240
    Points
    240
    Par défaut
    Ok je suis tombé sur ça:

    https://stackoverflow.com/questions/...d-table-in-jpa

    Ils disent que Hibernate génère automatiquement les colonnes par ordre alphabétique.

    Et apparemment ce n'est pas un problème puisque Hibernate sait reconnaître l'ordre des colonnes lors d'une opération de CRUD. D’ailleurs je viens d'insérer les infos d'un utilisateur dans la base. Devrais-je continuer comme ça ou bien ça peut me causer des problèmes plus tard?

    Sinon tu me parlais de scripts de création de base de données, peux-tu m'en dire plus?

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    7 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 183
    Points : 9 306
    Points
    9 306
    Billets dans le blog
    1
    Par défaut
    L'ordre des colonnes dans une table n'a aucune importance, ce qui peut avoir un impact sur certains système et langages (RPG sur iSerie) c'est l'ajout de colonne une fois le programme compilé... mais bon, on n'est pas là

    En SQL, tu peux faire select COL1, COL2, COL3 from MonSchema.MaTable ou select COL3, COL1, COL2 from MonSchema.MaTable, du moment que tu récupères avec le bon type le bon numéro de colonne, c'est équivalent.

    Pour les scripts de création de base, personnellement j'utilise un fichier texte avec les instructions SQL de création, je n'ai jamais utilisé Hibernate pour le faire à ma place.
    Ça ressemblerait à ceci
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    create table MonSchema.MaTable(
      UID integer as identity not null,
      CODE varchar(10) not null,
      LABEL varchar(80),
      primary key (UID)
    );
     
    create unique index MonSchema.index1 on MonSchema.MaTable (CODE);
    create index MonSchema.index2 on MonSchema.MaTable (LABEL);
    Ensuite, avec Eclipse, j'utilise la vue Database Developpement pour exécuter les scripts.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre actif
    Inscrit en
    juin 2005
    Messages
    577
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 577
    Points : 240
    Points
    240
    Par défaut
    Ok merci, j'ai compris.

    Merci

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

Discussions similaires

  1. Fichiers Excel avec des colonnes dans le désordre avec TOS - hashmap
    Par jmsicot dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 28/01/2015, 11h15
  2. copier coller des colonnes dans le désordre
    Par sash6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/05/2008, 18h24
  3. Réponses: 13
    Dernier message: 03/05/2006, 13h15
  4. Affichage du titre des colonnes dans un DBGrid
    Par Debure dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/10/2005, 23h41
  5. Des colonnes dans un Treeview
    Par mr_langelot dans le forum Composants VCL
    Réponses: 6
    Dernier message: 28/07/2004, 09h52

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