O que eu não gosto na Java Persistence API

A JPA é uma sacada fantástica do JCP. Já tem algum tempo que os Entity Beans são odiados pelos desenvolvedores. Principalmente depois do amadurecimento, comercial, do Hibernate.

Mas ainda faltam alguns detalhes, que o pessoal precisa dar atenção. O que mais me incomodou no JPA foi a falta, nos relacionamentos, da deleção das entidades órfans. O que se resolve, com o Hibernate Annotations, assim:

@Cascade (value={org.hibernate.annotations.CascadeType.ALL , org.hibernate.annotations.CascadeType.DELETE_ORPHAN })

Tem um tópico no GUJ falando disso…

Não teria sido mais fácil definir o JSR como o incluir o Hibernate Core/EntityManager/Annottations?

O que eu quero dizer é colocar o JPA v1.0 como o Hibernate(Core/EntityManager/Annottations) 3.2, e então, ir se adequando para permitir a implementação feita pelo Toplink, JDO e afins….

Para terminar, a idéia deste texto saiu do anúncio feito pelo Urubatan sobre as novidades do JPA 2.0.

Anúncios

3 opiniões sobre “O que eu não gosto na Java Persistence API

  1. Pingback: Beyond Click

  2. …O que mais me incomodou no JPA foi a falta, nos relacionamentos, da deleção das entidades órfans. O que se resolve, com o Hibernate Annotations, assim:

    @Cascade (value={org.hibernate.annotations.CascadeType.ALL , org.hibernate.annotations.CascadeType.DELETE_ORPHAN }) …

    O Que é isso? “deleção das entidades órfans.”

  3. Imagina que você tem duas entidades com relacionamento 1:N entre elas. Em alguns casos beeem específicos, quando você apaga a entidade do lado 1 ele não apaga as entidades do lado N.

    No caso do DELETE_ORPHAN a idéia é que apague todas as entidades do lado N que não tenham uma associação com uma entidade do lado 1.

    Exemplo: Pedido, lado 1, e ItemPedido, lado N. Em alguns casos, apagar um Produto não garante que apagará os objetos ItemPedido relacionados a ele.

    Qualquer dúvida, basta comentar.

    [],
    AC

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s