Il est facile �
tout un chacun de downloader un produit JDO tel que LiDO (www.libelis.com) et de v�rifier par soi m�me
que ce qui est affirm� par Cedric est absolument faux.
De par leur
complexit� de d�veloppement, leur difficult� de mont� en charge et leur
limitation du point de vue objet (h�ritage, polymorphisme) les Entity Beans
(m�me 2.0) sont � r�server � des composants � forte granularit�.
Une simple
lecture des threads sur theServerSide montre ce que l'immense majorit� des
d�veloppeurs pense de CMP 2. L'avis d'Olivier refl�te largement l'opinion
g�n�rale, m�me s'il n'a apparemment pas test� CMP 2
r�cemment.
- Pas d'equivalents de SELECT (oblige de faire plusieurs allers-retours vers la DB, pas possible de recuperer des objets partiellement)
Il ne faut pas
confondre un standard avec les produits qui
l'impl�mentent.
Tous les produits
JDO s�rieux permettent de g�rer cela efficacement m�me si cela n'est pas impos�
par le standard.
A noter de plus
que dans LiDO le filtre d'une query peut �tre en JDOQL ou en SQL
pur.
- Pas de curseurs scrollables
M�me probl�me. Un
produit comme LiDO supporte cela.
C'est
effectivement un point important.
- Pas d'outer joins
N'importe quoi
!!!
- Pas d'API precise pour le cache
Faux, il y a des
APIs de cache dans JDO.
De plus, LiDO
dispose de 4 niveaux de cache, y compris caches partag�s et caches
distribu�s.
La configuration
peut se faire par API ou de fa�on externe � l'application
(properties).
- Pas de cache incremental de relation ou batch
Faux.
- Pas de verrouillage optimiste
Faux, JDO d�finit
le comportement optimiste.
Et c'est
justement un des points forts de LiDO qui dispose d'options tr�s sophistiqu�es
pour le verrouillage optimiste.
Je n'ai jamais vu
l'�quivalent dans d'autres produits de mapping.
Si tu as fait une croix sur EJB (ce qui est une erreur si tu n'as jamais
experimente avec CMP 2.0, a mon avis), je recommande Hibernate plutot que
JDO.
Hibernate n'est
pas un mauvais produit.
Mais il est
totalement propri�taire, pas outill� du tout (ils communiquent l�-dessus), bas�
sur de la runtime-reflection et loin d'�tre aussi sophistiqu� que LiDO sur bien
des points (locking optimiste par exemple).
Mais surtout, il
est bien moins performant, ce qui est souvent un crit�re
fondamental.
Donc moi, je
recommande aux gens de se faire une id�e par eux-m�mes
en comparant les technologies.
Cdt,
-----Message d'origine-----Olivier Richaud wrote:
De : Cedric Beust [mailto:[EMAIL PROTECTED]
Envoy� : vendredi 21 mars 2003 03:45
� : [EMAIL PROTECTED]
Objet : Re: JDO : suite...
Donc tu as teste uniquement BMP ? Et jamais CMP 2.0 ?A l'�poque, on avait regard� les entity beans des EJB pour r�aliser la persistence, mais nous nous sommes tr�s tr�s vite rendu compte que ce n'�tait strictement pas exploitable, ni en terme de performance, ni en terme de navigation. Au final, le design conduisait � �crire beaucoup de code avec JDBC dans les m�thodes ejbLoad, ejbStore.
2- Le langage pour faire les queries n'est ni OQL, ni SQL. Avez-vous d�j� constat� de graves lacunes? Peut-on aujourd'hui faire ce que nous avons r�ussi � faire avec SQL?Si tu as fait une croix sur EJB (ce qui est une erreur si tu n'as jamais experimente avec CMP 2.0, a mon avis), je recommande Hibernate plutot que JDO.
- Pas d'equivalents de SELECT (oblige de faire plusieurs allers-retours vers la DB, pas possible de recuperer des objets partiellement)
- Pas de curseurs scrollables
- Pas d'outer joins
- Pas d'API precise pour le cache
- Pas de cache incremental de relation ou batch
- Pas de verrouillage optimiste
-- C�dric
