org.springframework.transaction.annotation.Transactional vs javax.jdo.annotations.Transactional
Pergunta
Ao usar Primavera @Transcational
na camada de serviço, vou precisar para colocar <annotation driven>
em arquivo xml.
Eu gostaria de saber
-
Can
javax.jdo.annotations.Transactional
ser usado em camada de serviço como Primavera faz? Sem a necessidade de arquivos XML de configuração. etc? -
Can
javax.jdo.annotations.Transactional
ser usado na camada de serviço independente de saber se eu usar o Hibernate / JPA / JDO na camada dao? Eu preciso configurar quaisquer outras coisas ao lado de marcação métodos com@Transactional
? -
Há alguma diferença / limitações entre
javax.jdo.annotations.Transactional
eorg.springframework.transaction.annotation.Transactional
?
Solução
Será que você olha para o javadoc? Isto é o que eu li sobre javax.jdo.annotations.Transactional
:
Anotação para indicar que um membro (campo ou propriedade) é transacional, mas não persistente. Isto corresponde a atributo xml persistência-modificador = "transacional" de "campo" e elementos de "propriedade".
Este não parece comparável com o @Transactional
anotação da Primavera.
Descreve atributos de transação em um método ou classe.
Este tipo de anotação é geralmente directamente comparável à da mola de classe RuleBasedTransactionAttribute, e de fato AnnotationTransactionAttributeSource irá converter diretamente os dados para o última classe, de modo que a Primavera de código de suporte a transações não tem para saber sobre anotações. Se nenhuma regra são relevantes para a exceção, ele vai ser tratados como se fossem DefaultTransactionAttribute (rolamento para trás em exceções de tempo de execução).
Assim, para responder às suas perguntas:
pode i sabe que pode
javax.jdo.annotations.Transactional
ser usado em camada de serviço como Primavera faz? não precisa de arquivos de configuração XML. etc?
Não.
pode
javax.jdo.annotations.Transactional
ser utilizado em serviços camada independente sobre se i usando hibernate / JPA / JDO na camada dao? necessidade de configurar quaisquer outras coisas ao lado de marcação métodos com@Transactional
?
No. Veja acima.
qualquer / limitação diferente entre
javax.jdo.annotations.Transactional
eorg.springframework.transaction.annotation.Transactional
?
Sim. Um deles é uma maçã, o outro uma laranja.