Fiz um teste com o Prevayler usando uma classe que continha vários objetos que eu desejava persistir. Suponha que eu queira migrar uma aplicação construída em um banco de dados, que contem várias tabelas, e estas possuem chaves primárias e estrangeiras, relacionando entre si. Como implementaria isso com o Prevayler? Cada tabela viraria uma classe com objetos sendo atributos? E as chaves? Se houver muitas tabelas e elas se relacionando fortemente, como aplicar um bom padrão de projeto?
Nao sei se ha algo “automatico” para este caso, mas penso que varia conforme o teu modelo relacional - um modelo relacional e um modelo OO nao tem um relacionamento simples (tipo 1 pra 1 :D), as vezes o que no modelo OO eh uma classe, no modelo relacional pode ser partido em varias relacoes e vice-versa. Tem tambem o lance de heranca, o comportamento de cada classe (afinal, no relacional voce modela apenas os dados) e por ai vai.
Estude bem OO, analise com calma teu modelo relacional hoje (sobretudo entenda a semantica da coisa - apenas olhar as chaves pode nao ser suficiente) e elabore um modelo OO. Se fosse facil as transicoes relacional <–> OO, nao precisariamos de tecnicas/frameworks de mapeamento O/R.
Apenas meus 0,31 para a discussao.
(obs.: mencionei modelos, voce falou de aplicacoes - voce tem uma aplicacao Java que usa RDBMS e quer migrar pra Prevayler?)