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

Hibernate Java Discussion :

Génération schéma SQL


Sujet :

Hibernate Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2002
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 38
    Points : 33
    Points
    33
    Par défaut Génération schéma SQL
    Bonjour,

    J'utilise actuellement Hibernate avec une base Mysql.

    Pour générer le schéma SQL de la base, je me sert du script Ant ''hbm2ddl".

    Tout se passe bien sauf qu'une nouvelle demande a été faite, celle de rendre sensible à la casse les recherches en base (pour une colonne donnée d'une table donnée).

    J'ai bien trouvé la solution, cela se passe au niveau de la création de la table, il faut que le type de la colonne soit 'varchar(255) BINARY' au lieu de 'varchar(255)' tout simple, et cela fonctionne bien.

    Du coup, ce que je souhaiterais faire, mais sur quoi je butte pour l'heure, c'est automatiser ça, car actuellement, mon script Ant ne crée pas la colonne en 'BINARY', et je ne vois pas où faire figurer cette info, je pensais à mes fichiers de mapping hibernate, mais je ne vois pas où.

    Est-ce que quelqu'un saurait faire çà ?

    D'avance merci de votre aide.
    sicard_51, la bonne brioche anisée !

  2. #2
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Parce que tu comptes laisser l'ORM créer le schéma de la base, comme ça? Je comprend que tu puisses utiliser ça la première fois pour avoir une ébauche de script, mais prendre ce qu'il te donne tel quel ça me paraît vraiment de la folie.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2002
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Bah disons que pour l'heure, cela suffit, s'il manque ds indexs, je verrai à les rajouter.

    Qu'est ce qui te parait si risqué ?
    sicard_51, la bonne brioche anisée !

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    le fait que ca pourrait effacer ta base sans te prévenir, supprimer un colonne sans prévenir, etc? hbm2ddl c'est bon pour avoir une base, après faut souvent ajuster les script. T'as par exemple pas toujours besoin de 255 charactères, parfois c'est plus, parfois manque des index, parfois tu voudrais supprimer un contrainte, etc.

    PS: je vois pas en quoi le schéma est lié à la casse de tes recherche. Aucune BD ne me retournera le ROW avec chmap="HELLO" si je fait un where champ="hello"

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2002
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Attention, je ne dis pas que j'utilise la propriété 'hibernate.hbm2ddl.auto' de ma sessionFactory mais que j'utilise le script ant qui me génère un fichier sql avec les scripts sql de création du schéma avec index et contraintes.

    Ensuite, ce fichier, je l'utilise au besoin.

    Ensuite, dans les fichiers de mappings, tu peux décider de la longueur d'une propriété de type String, par défaut, on est d'accord, c'est effectivement 255.

    Concernant les contraintes à supprimer, je suis pas trop convaincu, si le modèle objet est bien posé et les mappings ok, y'a a priori pas de raison de casser une contrainte.

    Quant à la recherche insensible à la casse, je persiste et signe :
    http://dev.mysql.com/doc/refman/5.0/...nsitivity.html
    sicard_51, la bonne brioche anisée !

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ce sont des exemple parmis d'autre (si parfois hibernante a du mal sur les bord scabreux du mapping et a besoin de faire sauter des contrainte, surtout en relations ternaires :p)

    Dans ton cas, qu'est-ce qui t'empeche de modifier ton script ant pour qu'il tripatouille le fichier sql pour ajouter le BINARY (et j'ai toujours pas compris le problème de départ)

  7. #7
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Normalement c'est une question de collation, la sensibilité à la casse et aux accents, par contre sous MYSQL je sais pas.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juillet 2002
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Bah disons que je voulais savoir si une solution "native" existait avant de mettre les mains dans le camboui.

    En tout cas, merci pour vos réponses.
    sicard_51, la bonne brioche anisée !

Discussions similaires

  1. [C#] ADO.NET Entity Data Model (.edmx) et Schéma SQL Server
    Par gargouilleBL dans le forum Accès aux données
    Réponses: 3
    Dernier message: 16/06/2011, 13h12
  2. Génération rapport Sql
    Par JOBiJOBa3 dans le forum Persistance des données
    Réponses: 0
    Dernier message: 28/01/2011, 10h11
  3. génération script sql
    Par zoheir13 dans le forum Firebird
    Réponses: 2
    Dernier message: 26/12/2010, 10h41
  4. Power AMC, génération script SQL
    Par davasm dans le forum PowerAMC
    Réponses: 1
    Dernier message: 24/05/2006, 16h18

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