JPA génération de code java
Que je recherche précisément JPA génération de code technique
Tout d'abord, ce sont tous les le projet pourrait générer JPA code compatible? (Eg. HibernateTools)
Deuxièmement, je voudrais également personnaliser la génération de code de l'utilité, il doit conformes à nos normes de l'entreprise.
Si non, quelles sont toutes le cadre est disponible pour générer du code java à l'aide de la réflexion? donc, je peux écrire à partir de zéro.
Remarque: j'ai utilisé eclipse pour générer JPA code et refactoriser à plusieurs reprises pour la rendre conforme.
Vous devez vous connecter pour publier un commentaire.
J'ai également du mal à comprendre la question, mais je vais essayer de reformuler:
Quand vous dites "JPA génération de code java", je comprends la génération JPA modèle annoté des classes à partir d'une connexion DB. La plupart des cadres se réfèrent souvent à ce que l'ingénierie inverse.
Maintenant, vous avez deux questions:
Pour répondre à la première question:
J'aime vraiment le Netbeans génération de code, surtout si vous montrez les résultats de quelqu'un ne sont pas familiers avec JPA.
Au niveau de la personnalisation, je ne peux que partager l'expérience que j'ai eu avec Hibernate Tools. En particulier pour des résultats reproductibles, essayez d'utiliser le ant-tâches. Vous pouvez facilement ajouter des objectifs de votre construction et de génération de code qui peut être fait à deux niveaux:
Avec les modèles que vous devriez être en mesure de couvrir la plupart des normes de l'entreprise. Regardez dans le
pojo
répertoire de la mise en veille prolongée-package d'outils. La façon la plus simple pour personnaliser la génération de code est à copier et adapter les modèles et de les avoir mis avant le hibernate-tools.jar dans la tâche ant utilisé pour créer le pojo.Comme l'a déjà souligné dans un autre commentaire, il peut être difficile de modifier le code généré par la suite. J'espère que les conseils suivants peuvent vous aider:
@MappedSuperclass
pour les classes que vous voulez mai pour s'adapter à une étape manuelle.Une autre solution efficace pour JPA génération de code est "Telosys Tools"
Un plugin Eclipse de travail à partir d'une base de données existante ( "base de données des deux premières" approche ) avec modèles personnalisables. Cette solution est plus souple que Dali grâce à sa légèreté du modèle et la Vitesse de modèles (partagé sur GitHub )
Voir le site web : http://www.telosys.org/
Le plugin sur Eclipse Marketplace : http://marketplace.eclipse.org/content/telosys-tools
Une brève description du principe : http://labs.sogeti.com/code-generation-can-it-be-simple-and-pragmatic/
Pour JPA génération, utilisez le JPA modèles disponible sur GitHub : https://github.com/telosys-templates-v3
J'ai utilisé Dali Persistance Plugin Eclipse, L'outil est disponible pour téléchargement via le Indigo Java EE SR-1 mise à jour du site.
Après l'installation du plugin, pour faire un reverse engineering de votre base de données, vous devez créer un nouveau projet JPA, la base de données de connexion, lancez le téléchargement automatisé de JPA runtime (dans mon cas, Eclipse Lien), puis démarrer le processus de génération.
Pendant le processus de génération de code vous est demandé de fournir des détails sur table de mappage et les classes générées. À la fin de la génération du code est propre.
Minuteproject est un outil de générateur, et peut générer des JPA1/JPA2 ainsi que la mise en veille de l'ORM-comme des artefacts.
Elle est basée sur la rétro-ingénierie à partir de la base de données.
Vous pouvez charger le générateur d'application de la convention pour que votre code java qui ne suivent pas votre DB convention, mais la cartographie sera correct. (Exemple bande DB préfixe de nom; le tableau de départ avec ADMIN_ comme ADMIN_ENVIRONMENT de l'Environnement (w/out Admin) en tant que classe java)
Pour le moment, il n'y 20+ conventions que vous aider à remodeler votre modèle à moins de DB look-and-feel de plus Java-OO-friendly.
Une autre caractéristique intéressante est pouvant être mis à jour-code permettant de modifier à la fois le code généré et votre modèle ET aht la prochaine génération vos modifications seront conservées! Le fait générateur de la fusion.
Les modèles sont opensource et de travailler avec la vitesse, il est "assez" facile d'ajouter une piste spécifique pour votre cadre (ex aspects de sécurité... qui correspondent à votre organisation). Vous pouvez la portée de votre modèle à l'échelle d'une parcelle, d'une entité (table ou de la vue), l'ensemble (groupe d'entités), le modèle, l'application offre de la flexibilité, et depuis le modèle d'une piste connaît les uns les autres via des métadonnées, il est assez facile de référence, puis à partir d'autres modèles et de les associer par la configuration avec la convention de nommage.
Projet de lombok semble vous permettant de générer de base des requêtes nommées, c'est une autre approche à l'aide d'annotations et de génération de code au moment de la compilation.
Voir:
Un mec au cours de la veille prolongée forum semble à l'aide d'une traditionnelle approche de génération de code avec Hibernate Tools :
https://forum.hibernate.org/viewtopic.php?f=9&t=962223&p=2315766&hilit=named+queries+generate#p2315766
Je suis d'accord avec cletus sur le point que vous ne pouvez pas générer toutes les requêtes nommées, mais je crois que l'on peut imaginer la génération de base de requêtes nommées tels détecteurs basés sur un ou plusieurs champs de l'objet.
découvrez JPM2java, c'est un générateur de code pour JPA. Le seul hic, c'est qu'il ne génère pas de JPA code à partir de fichiers SQL ou une table, vous aurez besoin d'un orm.xml fichier. Si vous êtes à la recherche d'un outil pour générer le code directement à partir de tables, vous pouvez essayer de Netbeans. Il a des options pour générer JPA code directement à partir des tables
L'outil idéal/plugin eclipse pour jpa code inverse génération est Hibernate Tools. Cela a été fait une partie de JBoss Tools. Donc, dans votre eclipse commencer avec l'installation de JBoss Tools.
Puis créer une JPA Projet. Ce projet de loi ainsi qu'avec le titulaire de tout votre code/configurations liées à l'inverse de la génération du projet. L'installation de JBoss Tools vous donne d'abord l'avantage de Hibernate(partie de Hibernate Tools) est créé avec votre JPA projet.
Prochaine étape serait d'utiliser la veille prolongée Outils à renverser générer votre JPA POJO entités correspondant à vos tables de base de données.
De comprendre les étapes de JPA POJO inverse de génération en détail vous pouvez consulter le tutoriel suivant...http://www.javabrahman.com/j2ee/how-to-do-reverse-code-generation-of-hibernatejpa-pojo-entities-using-jboss-tools-eclipse-plugin/
Le tutoriel ci-dessus a également des liens vers des tutoriels pour la création d'un Projet JPA et également pour l'installation de JBoss Tools dans votre eclipse installation des pré-requis pour JPA POJO entités inverse de la génération de code.
Open source outil graphique pour générer JPA classe, visualisez & modifier la Base de données, l'ingénierie inverse la sortie du code source et importer des modèles de base de données existante.
Pour NetBeans : http://jpamodeler.github.io/
Pour Eclipse : https://www.eclipse.org/webtools/dali/
Jetez un oeil sur JOOQ.
http://www.jooq.org/
Open Source est disponible .....
Ok, fondamentalement, vous avez des choses de la mauvaise façon arond:
JPA is the generation tool
.Je dis cela parce que la seule chose qui pourrait générer des entités JPA de est SQL et le point de l'ensemble de la JPA est de faire les choses dans l'autre sens. Vous définissez votre modèle d'objet de la première et, de cela, vous pouvez générer vos tables et de requêtes.
Par exemple, j'ai vu les projets utiliser Hibernate pour définir leurs entités et puis ils ont un script ant qui crée la base de données à partir de la veille prolongée modèle d'entité.
JPA définitions d'entités--surtout fait avec des annotations--ne sont pas exactement onéreux. Ils sont vraiment votre meilleure option, car la première chose à faire plutôt que d'être le produit de quelque chose d'autre.
D'ailleurs, un autre outil ne sera pas vous aider à écrire des requêtes nommées, définir la bonne cascade options sur les relations, etc. Et si vous aviez le code généré, comment géreriez-vous de le modifier par la suite?
C'est juste pas la bonne façon de faire.