2010-04-08 11 views
2

C'est bizarre et probablement pas possible mais je demanderai quand même. Je fais cette application qui lit dans un fichier méta et crée des tables puis les peuple avec des données. Je me demandais si je pouvais utiliser JPA pour peupler ces tables. Évidemment, il n'y a aucun moyen que je puisse avoir une entité avec des annotations dessus car la table n'existait pas au moment de la compilation. Mais peut-être que JPA ou le gestionnaire d'entités a un moyen de charger des données dans une table sans une classe d'entité?Puis-je utiliser JPA/EJB3 sur une table créée lors de l'exécution?

Si possible, je pense une méthode comme

entityManager.update("myTableName", hashMapOfColumnNamesAndColumnDataValues); 

Répondre

2

Vous pourriez peut-être utiliser une requête SQL native. Jetez un oeil aux méthodes EntityManager#createNativeQuery.

+0

Oui, je pourrais probablement mais cela a tous les inconvénients que j'essaye d'éviter: Ce n'est pas indépendant de DB, je dois écrire le sql à la main, etc. –

+1

@tieTYT Je comprends mais je ne suis pas conscient de quelque chose proche de ce que vous avez mentionné et je ne connais pas de moyen facile de construire des classes dynamiquement et de les enregistrer. En d'autres termes, je n'ai pas de meilleure suggestion. –