Quero que o meu objeto saiba como se persistir no banco de dados, ou seja, eu posso chamar:
person.save();
person.update();
person.insert();
person.load();
person.delete();
Uma maneira de obter isso é fazer a minha class Person herdar de PersistentBean.
Só que concordo que heranca nesse caso não cai muito bem, pois estou misturando meus objetos sagrados com infra de persistencia. As pessoas fazem isso direto com as anotacoes de JPA/Hibernate, mas não é o objetivo do tópico entrar nesse mérito.
Então temos o problema clássico dos proxies em Java.
Pensei em fazer isso com um wrapper.
Person p = new Person();
PersistentBean<Person> bean = new PersistentBean<Person>(p);
Para acessar o objeto:
p.bean().getUsername();
p.bean().whateverHere();
// e quando eu quero persistir...
p.save();
p.update();
// etc.
O que vcs acham?
Para resumir tenho 4 opcões:
1 - Ignorar isso e quando quiser persistir um bean eu faco session.update(bean);
2 - Deixo de ser fresco e herdo de PersistentBean
3 - Uso CGLIB (seria uma bazooka para matar mosca?)
4 - Usar o wrapper acima.
Quais que vcs acham melhor? Comentários?

