What about mapping historical instances to a different table?
http://www.oracle.com/technology/produc ... m#BCGJJBEH
I can configure Oracle to maintain a _HIST table using triggers. I then can configure TopLink to read historical entries from this table, transparently to the application. The application reads the same entity, not knowing if it comes from the current or history table. (One table only contains current rows, and one table contains all rows with row_start, row_end columns.)
Using Hibernate, afaik, I need to have 2 entities? Or can I have Hibernate map "Person" to "TABLE_PERSON", oracle trigger to populate "TABLE_PERSON_HIST", and then read it using toplink through the same entity. Toplink knows where to find it.
/Magnus