Disponível livro gratuito sobre Demoiselle Framework

Marcos,

se a interface IPojo é de uma biblioteca de terceiros que dá suporte a persistência, me parece ruim que um detalhe de persistência invada o domínio. O melhor seria acoplar isso a um DAO (que pode ser visto como a faceta de persistência de um objeto de domínio).

O Hibernate resolve isso através de um mapeamento externalizado em XML. O objeto de domínio desconhece Hibernate, nem sabe que está sendo persisitido (idealmente).

O ActiveRecord do Rails por sua vez exige a extensão de uma classe. No caso do Rails, meu entendimento é que o mapeamento OR é “ingênuo”, no sentido de assumir que o modelo relacional e o modelo de objetos são extremamente similares.

O Hibernate possui maior flexibilidade para mapear seus objetos ao modelo relacional. Por outro lado, Rails é mais fácil de usar. Esse é o trade-off, NMHO.

[quote=marcosalex]Agora fiquei com uma dúvida: qual a alternativa sem criar interface pra identificar usando Generics que a minha classe é um Pojo?

[/quote]

Opa,

Trabalho neste projeto, inicialmente IPojo era utilizado como uma marcação mesmo… realmente, tinha pouca função. Na versão 2.0 esta interface deixa de existir, assim como outras, dando lugar a marcações com anotações. No caso do IPojo, como usamos jpa… usa-se a própria @Entity;

Mas como sua pergunta é em relação a generics… simplesmente estamos passando Object quando esperamos que a classe possua um “Pojo”.