JPA et @Transactional readonly (spring)

Petite subtilité avec l’attribut readonly de l’annotation @Transactional de Spring lors de l’utilisation de JPA.

@Transactional(readOnly = true)
    public void save(T bo) {
        entityManager.persist(bo);
    }

Lorsque vous utilisez JPA, deux possibilités lors de l’exécution de ce code :

  1. L’insertion en base s’effectue malgré le flag readonly
  2. Rien ne se produit (même pas une exception)

Le premier cas se produit lorsque la clé technique de l’entité à persister est générée automatiquement. Le deuxième cas intervient quand la clé technique de l’entité à persister est assignée par l’application.

Pour les explications vous pouvez consulter le lien suivant : http://www.ibm.com/developerworks/java/library/j-ts1/index.html#N101B1

 

Laisser un commentaire


5 + = onze


NOTE - Vous pouvez utiliser les éléments et attributs HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>