[BES] Mapping automatique et clés étrangères
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:
Citation:
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.
J'ai tenté sans succès de modfier le mapping en ajoutant une propriété createColumnSql à T_DAMAGE.TEST_ID:
Citation:
<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>
...
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.
Des idées ?
Baptiste