We have an architecture in which a majority of our domain objects are modelled as key-value pairs. It's a financial application. So, for example, we have a Position object that represents a holding, and it may have things in it like "Amount owned", "Associated Asset", etc. The system is completely extensible. A given customer describes their own set of "Position" data fields, along with meta data about each one of these fields, and these values are used throughout the suite of applications which we have built (e.g. reporting, etc.). We use ejb to model their persistent data. These ejbs are customer specific, tailored to each individual installations database, etc. We then have proxies that interface to these custom components and do things like pull back all positions in a given portfolio on a given date. These are returned from the proxy as a Collection of Maps (essentially).
The question is follows. We currently use BMP entity beans for which the code is autogenerated. The bulk loads are actually done is direct jdbc and the data is mapped to specific keys in the map on the way in based upon a bean definition file which the customer writes. We would like to move to CMP but have two questions. 1. I've only seen cmp beans specify mapping to individual data members (instance variables), not to keys in a map. Is there a technology available to do such a mapping? 2. I asked this before, but I want to confirm. If we go to cmp, can we do away with our bulk jdbc loads, which essentially bypass any cacheing the container might do for us? In the past, going through the entity beans with BMP to load large amounts of data was expensive. Can CMP handle a bulk load efficiently, or must it select the pks and then go back for the data one by one? Thoughts would be appreciated. Regards Eric Kaplan Armanta, Inc.
<<attachment: winmail.dat>>
