Ajouter un commentaire

mixouille

Ca y est, j'ai trouvé les réponses à toutes mes questions !

Premièrement, pour logger les requêtes sql émises par Jonas, il existe l'excellent outil p6spy, qui, en plus, est livré avec la version 4.7.4 (et probablement d'autres) de Jonas.
La configuration est très simple et expliquée ici : http://www.p6spy.com/documentation/install.htm

Grâce à cet outil, j'ai pu voir la requête problématique générée :
SELECT SICC_ADMIN.TS_WF_TRAITETEMPO_0.ID_TRT FROM SICC_ADMIN.TS_WF_TRAITETEMPO SICC_ADMIN.TS_WF_TRAITETEMPO_0

Vous voyez le problème ? En fait Jonas ne voit visiblement pas que "SICC_ADMIN" est le schéma de la table, et préfixe donc l'alias TS_WF_TRAITETEMPO_0 avec, ce qui est évidemment interdit. La requête devrait être :
SELECT TS_WF_TRAITETEMPO_0.ID_TRT FROM SICC_ADMIN.TS_WF_TRAITETEMPO TS_WF_TRAITETEMPO_0

Pour régler le problème, j'ai trouvé 2 solutions, dans XDoclet :

1 - Dans la classe BiduleBean.java, supprimer le schéma dans les commentaires suivants :

 *  @ejb.persistence 
*   table-name="SICC_ADMIN.TS_WF_TRAITETEMPO"

* @jonas.jdbc-mapping jndi-name="DefaultDS" automatic-pk="false" jdbc-table-name="SICC_ADMIN.TS_WF_TRAITETEMPO"
Puis relancer XDoclet. Les classes et descripteurs sont regénérés correctement.

2 - Si, comme moi, vous utilisez l'assistant XDoclet de création d'EJB CMP dans Eclipse, lors de l'étape de sélection de la table et des champs, supprimez le schéma dans le nom de la table avant de valider l'étape.

Voilà, j'espère que cette explication aidera ceux qui seront comme moi confrontés à ce bug (parce que ca ressemble à un bug, quand même) de Jonas.

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
  CCC  K  K  RRRR   H  H  TTTTTT 
C K K R R H H TT
C KK RRRR HHHH TT
C K K R R H H TT
CCC K K R RR H H TT