org.springframework.transaction.annotation.Transactional vs javax.jdo.annotations.Transactional

StackOverflow https://stackoverflow.com/questions/1896853

  •  19-09-2019
  •  | 
  •  

Question

Lors de l'utilisation @Transcational de printemps sur la couche de service, je vais devoir mettre <annotation driven> le fichier xml.

Je voudrais savoir

  1. Peut javax.jdo.annotations.Transactional être utilisé sur la couche de service comme le printemps fait? Sans avoir besoin de configurer des fichiers XML. etc?

  2. Peut javax.jdo.annotations.Transactional être utilisé sur la couche de service indépendamment du fait que j'utilise veille prolongée / JPA / JDO à la couche dao? Ai-je besoin de configurer d'autres choses à côté des méthodes de marquage avec @Transactional?

  3. Y at-il des différences / limites entre javax.jdo.annotations.Transactional et org.springframework.transaction.annotation.Transactional?

Était-ce utile?

La solution

Avez-vous regardé le javadoc? C'est ce que je lis sur le javax.jdo.annotations.Transactional :

  

Annotation pour indiquer qu'un membre (champ ou la propriété) est transactionnel, mais pas persistant. Ceci correspond à l'attribut xml persistance modificateur = « transactionnel » de « champ » et éléments « propriété ».

Cela ne semble comparable à la l'annotation de @Transactional du printemps.

  

décrit les attributs transaction sur une   Procédé ou classe.

     

Ce type d'annotation est généralement   directement comparable au printemps   classe RuleBasedTransactionAttribute,   et en fait   AnnotationTransactionAttributeSource   convertira directement les données à la   cette dernière classe, de sorte que printemps   Code de support de transaction n'a pas   savoir sur les annotations. Si aucune règle   sont pertinents à l'exception, il sera   être traité comme   DefaultTransactionAttribute (roulement   retour sur les exceptions d'exécution).

Alors, pour répondre à vos questions:

  

peut-être je sais que peut javax.jdo.annotations.Transactional être utilisé sur la couche de service comme le printemps fait? ne pas besoin de configurer des fichiers XML. etc?

Non.

  

peut javax.jdo.annotations.Transactional être utilisé sur la couche de service indépendant si je l'aide mise en veille prolongée / JPA / JDO à la couche dao? besoin de configurer d'autres choses à côté des méthodes de marquage avec @Transactional?

Non. Voir ci-dessus.

  

différent / limitation entre javax.jdo.annotations.Transactional et org.springframework.transaction.annotation.Transactional?

Oui. La première est une pomme, l'autre orange.

scroll top