Encore une question BES (5.2)...
Une entité Test a une clé primaire Id de type Integer. Elle est liée par une relation 1:N à une entité Damage. Au niveeau BD (Oracle), la table T_TEST a une clé primaire TEST_ID de type NUMBER(10). Cette clé est aussi clé étrangère dans la table T_DAMAGE.
Le problème est que le serveur Borland mappe le champ T_DAMAGE.TEST_ID en java.lang.BigDecimal et non en Integer et refuse donc de parcourir la relation. Le message d'erreur est:
J'ai tenté sans succès de modfier le mapping en ajoutant une propriété createColumnSql à T_DAMAGE.TEST_ID:java.rmi.ServerException: T_TEST.TEST_ID with type of class java.lang.Integer cannot refer to T_DAMAGE.TEST_ID with type of class java.math.BigDecimal.
La solution de facilité serait d'utiliser BigDecimal pour les types des clés primaires mais c'est déconseillé par la spéc Borland. Le problème est similaire avec BES 5.2.1.<table-properties>
<table-name>T_DAMAGE</table-name>
<column-properties>
<column-name>TEST_ID</column-name>
<property>
<prop-name>createColumnSql</prop-name>
<prop-type>java.lang.String</prop-type>
<prop-value>NUMBER(10)</prop-value>
</property>
</column-properties>
...
Des idées ?
Baptiste
Partager