Hello,
I am considering re-implementing an old workflow system (built on Bonita 6.5) and one change that would be cool is to use Business Objects instead of "manually" instanciating/saving the process' objects with custom DB connectors.
However I see that Bonita identifies the objects with a column named "persistenceId". Of course each of our tables have an id column (type Long) but they are named "id", not "persistenceId".
Also the aggregations are done with another naming scheme than Bonita's default one.
Is it possible to configure the name of the column used as a persistence id and as aggregations reference or to declare it in the bdm file ?
Thank you.
Hi,
No, persistenceId
and persistenceVersion
are not configurable. You’ll need to script your way out to migrate from your schema to the generated schema. I recommend to design the BDM first to see if you’ll need to deal with object relations and identify what needs to be done to migrate your existing data.
HTH
Romain
Ok merci Romain. Je comprends la réponse et je te remercie mais elle est assez décevante. Par définition une base d'objets métier sert à une application métier, les processus ne sont qu'une partie du système, et ici il ne s'agit pas simplement de renommer quelques colonnes avec un script, ce serait toute l'application existante qu'il faudrait revoir...
Le fait de coder en dur ces noms est difficile à comprendre. Dans le temps (années 90), nous avions implémenté un outil de persistance pour des applications de gestion de production, la clé primaire de chaque table était paramétrable (ainsi que les noms des colonnes servant aux aggrégations), et cela ne me semble pas extraordinaire.
Je viens de regarder le source, en l'état, la partie bdm de Bonita est donc inutilisable pour moi, à moins de patcher Field.java et ce qui sert à construire les noms des clés d'aggrégation...
Michel