Mapping champs de fichiers csv avec champs de la table de bdd
Fermé
kariel1
Messages postés
29
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
5 juin 2014
-
9 mai 2014 à 17:54
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 9 mai 2014 à 18:44
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 9 mai 2014 à 18:44
A voir également:
- Columnpositionmappingstrategy
- Table ascii - Guide
- Table des matières word - Guide
- Explorateur de fichiers - Guide
- Comment réduire la taille d'un fichier - Guide
- Impossible de supprimer un fichier - Guide
2 réponses
kariel1
Messages postés
29
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
5 juin 2014
9 mai 2014 à 18:35
9 mai 2014 à 18:35
En cherchant un peu, j'ai tombé sur la openCSV, je l'ai utilisé pour la lecture du fichier, et j'ai compris que je peux faire le mapping avec les classes : CsvToBean et ColumnPositionMappingStrategy.
des idées ou exemples d'utilisation de ces classes.
Merci :)
des idées ou exemples d'utilisation de ces classes.
Merci :)
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
9 mai 2014 à 18:44
9 mai 2014 à 18:44
Bonjour,
Il n'y a pas de INSERT en JPA, donc pas en Hibernate non plus (sauf si les données proviennent d'une autre table mais ce n'est pas ton cas).
Par contre tu peux le faire avec Spring, mais dans ce cas fait toutes tes bases de données en Spring, et Hibernate ne sert plus à rien... car pour être cohérent il ne faut pas mélanger deux framework pour faire la même brique (ici la DAO).
Ici je pense que le mieux est de faire une requête native avec Hibernate, mais il faut bien garder à l'esprit que c'est une utilisation contraire à l'esprit du framework qui n'est censé faire que de la récupération de données, pas de la création.
Il n'y a pas de INSERT en JPA, donc pas en Hibernate non plus (sauf si les données proviennent d'une autre table mais ce n'est pas ton cas).
Par contre tu peux le faire avec Spring, mais dans ce cas fait toutes tes bases de données en Spring, et Hibernate ne sert plus à rien... car pour être cohérent il ne faut pas mélanger deux framework pour faire la même brique (ici la DAO).
Ici je pense que le mieux est de faire une requête native avec Hibernate, mais il faut bien garder à l'esprit que c'est une utilisation contraire à l'esprit du framework qui n'est censé faire que de la récupération de données, pas de la création.
EntityManager em; Query query = em.createNativeQuery("INSERT INTO " +" Personne (Nom, Prenom, DateDeNaissance) " +" VALUES (?, ?, ?);"); query.setParameter(1, person.getLastName()); query.setParameter(2, person.getFirstName()); query.setParameter(3, person.getDateOfBirth()); int n = query.executeUpdate();