| C++ | Java | Smalltalk | Lisp | |
| O2 | p-b-rea | p-b-rea | --- | --- |
| Poet | p-b-rea | p-b-rea | --- | --- |
| Versant | p-b-inh | p-b-rea | p-b-rea | --- |
| Jasmine | ? | ? | --- | --- |
| GemStone | --- | p-b-rea | p-b-rea | --- |
| Objectivity | p-b-inh | p-b-rea | p-b-rea | --- |
| ObjectStore | p-b-ins | p-b-rea | --- | --- |
Last updated 22 May 1998
Persitence-by-instantion: An object is made persistent and gets its persistent capabilities when instantiated. Some (all ?) ODBMS needs to specify the persistence classes (persistence capable classes), but can make these objects transient too.
Persistence-by-inheritance: A class inherit persistence capabilities from a pre defined persistent class. When you want to make the objects persistent you need to do it explicit, but some (all ?) decide at instation if an object should be transient or transient. This strategy is supported in the ODMG-93 standard for C++.
Persistence-by-reachability: An object is made persistent when
it's reachable from another persistent object (db root), also called
"transitive persistence". This strategy is supported in the ODMG-93
standard for Java and Smalltalk, but the Java version is based on
persistence capable classes as the C++ version.
To read more about these strategies and IM,
check [3]. This essay gives you a good
introduction to this area and is where I have got some part of the
definitions from.
If you know the answers to any of the ?, if you find some errors or and have some additional information that can be included, please let me know. Thanks!. Thanks also to everyone that has helped me with this list.
Good luck with ODBMS !
Erlend Bjørge