sql to java

sql to java - Java - Programmation

Marsh Posté le 09-04-2004 à 14:56:33    

J'aimerais savoir si à partir d'un schema sql il existe une appli qui permet de coder les classes métiers avec les méthodes de base (get/set et autres).
 
En gros j'ai une bd Oracle avec des tables de 50 champs.
Pour une table j'ai sa classe composée des méthodes get/set (100 méthodes / 50 attributs ...) En plus de ca la structure peut changer!!!
Une mise à jour automatique sera le must.
 
voila, à part ca je ne suis pas exigeant.
 

Reply

Marsh Posté le 09-04-2004 à 14:56:33   

Reply

Marsh Posté le 09-04-2004 à 15:52:05    

c'est ce que font tous les produits de mapping objet-BDD relationnel.
 
regarde du côté de JDO ...
 
Je me demande si Oracle a pas des outils qui font ca aussi ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 09-04-2004 à 15:53:09    

Si tu veux faire des EJBs, middlegen fait ca

Reply

Marsh Posté le 09-04-2004 à 15:56:20    

hibernate [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 09-04-2004 à 15:59:35    

ide : jbuilder8 enterprise
utilisation struts
(je ne pense pas que jb8 inclu ca? si?)
 
Sinon Jdeveloper9/10 je pense que ca le gère mais jbuilder8 doit être utiliser.
donc un outil externe pourquoi pas mais l'ide entier c'est pas trop possible.

Reply

Marsh Posté le 14-04-2004 à 09:59:11    

Alors j'ai regardé middlegen, c'est vraiment pas mal, mais le coups de devoir utiliser un serveur d'ejb me refroidi un peu.
Il n'existe pas une petite appli qui à partir d'un base oracle via une connexion jdbc créée des classes avec les méthodes de base?

Reply

Marsh Posté le 14-04-2004 à 10:53:47    

J'ai eu l'occasion d'utiliser SQL2Java sur un projet. Il fait exactement ce que tu cherches (voire plus), à savoir :
 - creer une classe "Data" par table = 1 bean avec autant de setters et getters que de champ
 - créer des classes DAO associées aux tables de la base (1 table => 1 DAO) implémentant les opérations de base (create, update, delete, findBy...)
Par contre SQL2Java s'est révélé un peu buggé (au niveau de certains types de donnés), nous avons donc dû fouiller dans le code source et le mettre à jour...
Bref, il faudrait que tu testes SQL2Java sur ta base ou alors que tu cherches directement un outil qui fasse exactement la meme chose, mais en plus fiable. Je crois que c'est le cas de Castor, mais je ne suis pas vraiment sûr... A voir.

Reply

Marsh Posté le 14-04-2004 à 11:30:36    

En tout cas Oracle à un outil qui fait ça, sur. Par contre je me rappelle plus du nom :D

Reply

Marsh Posté le 14-04-2004 à 11:44:27    

j'ai trouvé SLQ2JAVA qui me parait pas mal.
je regarde hibernate aussi

Reply

Marsh Posté le 14-04-2004 à 11:53:13    

el_gringo a écrit :

En tout cas Oracle à un outil qui fait ça, sur. Par contre je me rappelle plus du nom :D


toplink
 
et pour une liste fournie d'outils de mapping objet/relationnel:
http://c2.com/cgi/wiki?ObjectRelationalToolComparison

Reply

Marsh Posté le 14-04-2004 à 11:53:13   

Reply

Marsh Posté le 14-04-2004 à 12:09:04    

JDO  
permet de mapper ta base (Oracle ou autre) avec tes objets Java. Ce n'est pas dynamique, tu dois en écrire en génral un fichier de mapping ".jdo" qui permet à ton implémentation de retrouver ses relations 1-n, n-m, ses clefs primaires, les relations entre nom de champ de tables et attributs java etc ..
 
Castor JDO est bien un outil permettant de faire ça mais attention ! à l'apoque où je l'ai étudié, il collait pas aux spec de Sun JDO (Castor était sorti avant)
Sinon tu dois avoir plein d'autres implémentations JDO qui font ça.
Attention tout de même, si c'est une grosse appli J2EE (euuh, J2EE ou pas d'ailleurs) qui s'appuie sur du JDO pour les appels en BDD, faut faire gaffe aux perfs annoncés selon les implémentations, les montées en charges supportées, etc ..
 
Middlegen, pour le peu que j'ai utilisé permet de te récupérer le schéma de ta BDD et t'offre des classes pour pouvoir te générer des fichiers en fonction de ta BDD (en dynamique donc)
 
Le top, pourrait être à l'aide d'un script ANT de récupérer avec Middlegen ton schéma BDD et de créer en dynamique ton fichier de mapping jdo et tes classes persistantes...
bon okay, ça peut vite devenir lourdingue et ça mérite réflexion que sur un gros projet.
 
Hibernate, je connais pas mais je veux bien avoir des avis dessus...

Reply

Marsh Posté le 14-04-2004 à 12:12:33    

chichos a écrit :


Le top, pourrait être à l'aide d'un script ANT de récupérer avec Middlegen ton schéma BDD et de créer en dynamique ton fichier de mapping jdo et tes classes persistantes...
bon okay, ça peut vite devenir lourdingue et ça mérite réflexion que sur un gros projet.
 
Hibernate, je connais pas mais je veux bien avoir des avis dessus...
 

middlegen + xdoclet >> jdo, hibernate, ejb
(cela dit, perso, je prefere faire le chemin inverse: creer/updater ma base à partir de mes classes, et ne pas devoir me farcir de l'sql préhistorique. je bosse avec des objets, derriere les outils ont qu'a se demerder)
 
hibernate est plus avancé que jdo1, et plus objet. le jour ou jdo2 verra le jour (z'ont pas l'air pressé), si l'api est satisfaisante, hibernate devrait fournir un support.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 14-04-2004 à 14:40:30    

the real moins moins a écrit :

middlegen + xdoclet >> jdo, hibernate, ejb
(cela dit, perso, je prefere faire le chemin inverse: creer/updater ma base à partir de mes classes, et ne pas devoir me farcir de l'sql préhistorique. je bosse avec des objets, derriere les outils ont qu'a se demerder)
 
hibernate est plus avancé que jdo1, et plus objet. le jour ou jdo2 verra le jour (z'ont pas l'air pressé), si l'api est satisfaisante, hibernate devrait fournir un support.


 
ouaip, j'avais oublié xdoclet dans ma moulinette ...
 
allez, dernières questions avant que je me remette à bosser...
Hibernate est un framework / boîte à outil qui à sa propre machinerie pour accéder en BDD ? ou alors il peut accueillir une implémentation JDO ?

Reply

Marsh Posté le 14-04-2004 à 14:45:51    

c'est totalement indépendant de jdo. pê que dans le futur ça sera *une* implementation de jdo, tout en restant aussi une librairie indépendante.
va sur http://hibernate.org et lis la quickstart doc, c'est d'une simplicité déconcertante.


Message édité par the real moins moins le 14-04-2004 à 14:46:40

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed