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

Développement Web en Java Discussion :

Problème en HQL


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 9
    Par défaut Problème en HQL
    Bonjour, je travaille sur une application web java et j'utilise JSF, Richfaces, Spring et Hibernate. Comme SGBD j'utilise MySQL.
    Je souhaiterai faire l'importation du contenu d'un fichier texte dans ma base de données mais je n'ai aucune idée de la commande HQL qui peut me permettre d'utiliser la requête SQL "LOAD DATA LOCAL INFILE ". J'aurai aussi voulu pouvoir lancer une commande "CREATE TABLE..." directement de la couche métier par une commande HQL ou tout autre commande me permettant d'user du SQL.

    Lorsque je souhaite procéder à des requêtes de type "SELECT..." j'utilise le code suivant par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    @Autowired
    	private SessionFactory sessionFactory;
     
    @Override
    	public List<Produit> findByFamille(Integer codeFamille) {
    		return sessionFactory.getCurrentSession().createQuery(
    				"from Produit prod where prod.familleprod.codefamille= \'" + codeFamille+ "\'  ").list();
    	}
    Si je pouvais avoir un coup de main pour effectuer le même type de commande dans le cadre de l'importation ça me rendrait service Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 9
    Par défaut
    Problème résolu. Pour la création de table en utilisant toujours "sessionFactory" on se sert par exemple du code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sessionFactory.getCurrentSession().createSQLQuery("CREATE TABLE `nomBase`.`nomTable`(`codeproduit` VARCHAR(50) NOT NULL, `libelle` VARCHAR(60) NOT NULL);").executeUpdate();
    Pour l'importation j'ai finalement utilisé la commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sessionFactory.getCurrentSession().createSQLQuery("LOAD DATA LOW_PRIORITY LOCAL INFILE :filename INTO TABLE `nomBase`.`nomTable` FIELDS TERMINATED BY \'\\t\' OPTIONALLY ENCLOSED BY \'\' LINES STARTING BY \'\' TERMINATED BY \'\\n\';").setString("filename", pathFile).executeUpdate();

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

Discussions similaires

  1. Problème requête HQL avec Like
    Par kakahn dans le forum Hibernate
    Réponses: 3
    Dernier message: 27/03/2013, 15h56
  2. Problème conversion HQL vers SQL
    Par Alicals dans le forum Hibernate
    Réponses: 0
    Dernier message: 10/10/2008, 09h48
  3. Problème requete HQL
    Par newmar dans le forum Hibernate
    Réponses: 8
    Dernier message: 19/05/2008, 18h43
  4. problème : requete hql
    Par newmar dans le forum Hibernate
    Réponses: 8
    Dernier message: 22/04/2008, 17h56
  5. Probléme en HQL
    Par biba158 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/07/2007, 11h49

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