JPA e JTA Transaction

1 resposta
A

Ola Pessoal,

Primeiro gostaria de agradecer ao povo que me respondeu no outro tópico sobre diferença entre Hibernate e JPA.

Bom, continuando meus estudos em JPA, eu deparei com uma dúvida que não encontrei resposta ainda, espero que o povo possa me ajudar.

No JPA, existem dois tipos de controle de transações. JTA (que é controlado pelo container) ou o RESOURCE_LOCAL, que é controlado pelo user e aconselhável em sistema standalone que rodam fora de um app server.

Bom, no caso do RESOURCE_LOCAL eu entendi, que é o usuário que irá iniciar a transação, dar um commit ou rollback, por exemplo

public void insert(Cidades cidades) {
  EntityManager em = factory.createEntityManager();
  em.getTransaction().begin();
  em.persist(cidades);
  em.getTransaction().commit();
  em.close();
}

O código acima, exemplo de um método em um DAO, recebe um objeto Cidades e persiste ele no banco. Como pôde ser visto, o controle de transação foi feito no proprio codigo.

A pergunta é, no caso de aplicação EE que usam o JTA para controle de transação, como ficaria o código? Como eu “controlo/configuro” as transações?

Obrigado desde já

1 Resposta

J

E ai Alex, tudo bem?

Estude a especificação completa do EJB3 e você irá ver que existem Annotations relacionadas a transações, além de outras funcionalidades específicas do EJB3.

Uma dica, você também pode usar Transação fora de um container JEE (inclusive no Tomcat). Você pode usar o Spring Transaction ou então o JOTM.

Criado 24 de outubro de 2007
Ultima resposta 24 de out. de 2007
Respostas 1
Participantes 2