Red de conocimiento informático - Problemas con los teléfonos móviles - Spring JPA no puede enviar la solución de transacción jdbc

Spring JPA no puede enviar la solución de transacción jdbc

Este proyecto utiliza Spring JPA y Spring JDBC, pero en el uso real se descubre que la transacción Spring JDBC no se puede enviar. Aborde los siguientes puntos

1. Asegúrese de que el proyecto tenga transacciones habilitadas.

p>

2. Asegúrese de agregar la anotación de transacción en el método

Se agregaron ambos puntos en el sistema pero aún no funcionan. Miré la documentación de Spring jpa y descubrí que admite transacciones jpa y jdbc. https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/orm/jpa/JpaTransactionManager.html A través de la depuración, se descubre que el procesamiento de transacciones Jpa se realiza principalmente en JpaTransactionManager.doBegin. , durante la ejecución se decidirá si se utilizan transacciones jdbc

El sistema especifica JpaTransactionManager pero no especifica JpaDialect. Si no se especifica, el valor predeterminado es DefaultJpaDialect y DefaultJpaDialect no procesará JdbcConnection, por lo que jdbc. la transacción no se puede enviar. La solución también es relativamente simple: especifique manualmente jpaDialect como HibernateJpaDialect

JpaTransactionManager es parte de JpaTransactionManager.