Comment puis-je configurer pour désactiver la validation en Ressort + JDBC?
Je suis à l'aide de Printemps avec JDBC et trouve que c'est autocommit.
Comment puis-je configurer de le désactiver dans spring-servlet.xml?
C'est ma configuration actuelle:
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.databaseurl}" p:username="${jdbc.username}"
p:password="${jdbc.password}" />
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
OriginalL'auteur Surasin Tancharoen | 2012-03-10
Vous devez vous connecter pour publier un commentaire.
Il semble que ma configuration manqué cette ligne:
Puis, dans mes classes de service, j'utilise @Transactional annotation. Par exemple
Si il y a une exception qui se passe dans le addCompany_fail(), la première addCompany() auront également un rollbacked.
J'ai suivi ce document pour comprendre l'idée de la façon de la transaction contrôlée au Printemps.
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/transaction.html
J'ai suivi ce document pour comprendre comment le code avec JDBC au Printemps.
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/jdbc.html
J'ai aussi lu cette (Gratuit) http://www.infoq.com/news/2009/04/java-transaction-models-strategy. Il est vraiment bon. Et je ressens la même chose avec l'écrivain que la plupart des gens ne comprennent pas (ou de soins) à propos de la transaction.
PS:
Semble que beaucoup de gens ne comprennent pas que l'utilisation de tels Hibernate/Spring framework est seulement pour éviter la complexité de JDBC et le Contrôle des Transactions. Beaucoup de gens pensent comme "JDBC et de Transaction sont si complexes, il suffit d'utiliser Hibernate et d'oublier ces deux". De nombreux exemples sur internet à propos de Spring+Hibernate ou de Printemps+JDBC apparemment soucient pas de la transaction. J'ai l'impression que c'est une mauvaise blague. La Transaction est trop grave pour laisser quelque chose de gérer sans vraiment comprendre.
Hibernate et Spring est tellement puissant et tellement complexe. Puis, comme quelqu'un a dit, "un Grand pouvoir vient avec des responsabilités".
Mise à JOUR le: 2013-08-17: Il y a un bon exemple de transaction ici http://www.byteslounge.com/tutorials/spring-transaction-propagation-tutorial. Cependant, ce n'est pas d'expliquer que si vous souhaitez utiliser REQUIRES_NEW, pourquoi vous avez besoin de créer une autre classe (sinon vous aurez ce problème Printemps Transaction propagation NÉCESSAIRES, REQUIRES_NEW , qui semble REQUIRES_NEW n'a pas vraiment de créer une nouvelle transaction)
Mise à jour: 2018-01-01: j'ai créé un exemple complet avec Spring Boot 1.5.8.COMMUNIQUÉ de https://www.surasint.com/spring-boot-database-transaction-jdbi/
et quelques exemples d'expériences ici https://www.surasint.com/spring-boot-connection-transaction/
OriginalL'auteur Surasin Tancharoen
Essayer defaultAutoCommit de la propriété. Code devrait ressembler à ceci:
Regarder javadoc:
http://commons.apache.org/dbcp/apidocs/org/apache/commons/dbcp/BasicDataSource.html#defaultAutoCommit
OriginalL'auteur kapeloland
Vous ne pouvez pas, il suffit de lancer votre code à l'intérieur d'une transaction, le Printemps sera automatiquement désactiver l'auto-commit pour vous. La méthode la plus simple (à moins de set-up) de manière à exécuter un morceau de code dans une transaction au Printemps est d'utiliser
TransactionTemplate
:eh bien, pas vraiment. Je l'ai dit plus facile , mais ne pas l'utiliser. Avec
@Transactional
ou AOP vous pouvez exécuter plusieurs lignes de code à l'intérieur d'une même opération avec un minimum de changements de code.Je viens de lire ce ibm.com/developerworks/java/library/j-ts2/index.html Peut "Programmatique des transactions avec Spring" être une alternative?
Aussi, j'ai trouvé sur org.springframework.des transactions.l'intercepteur.TransactionProxyFactoryBean être expliqué ici nerdnotes.wordpress.com/2007/03/30/... . Peut-il être une alternative?
OriginalL'auteur Tomasz Nurkiewicz