suitable framework failed determine conectar con application mysql hibernate spring

mysql - framework - spring boot jdbc



¿Por qué esta conexión Hibernate MySQL es de solo lectura? (2)

Después de aproximadamente 3 horas de depuración horrible ahora sé lo que está pasando. Tengo un método de nivel de servicio en el que también tengo un consejo de "alrededor". El método de nivel de servicio está anotado con @Transactional(readOnly=true) , sin embargo, tengo otro servicio que fue annotated with @Transactional(readOnly=false) .

Mi aspecto (o consejo) es utilizar los mismos objetos DAO que mi capa de servicio normal, por lo que cuando llamé a sessionFactory.getCurrenctSession() me devolvió la sesión que se creó para mi método de nivel de servicio de solo lectura. Ahora, tengo que volver a diseñar.

Tengo una aplicación que usa Spring con Hibernate en una base de datos MySQL. Por alguna razón, en los últimos días, cada vez que intento persistir cualquier objeto en mi base de datos, recibo el siguiente error:

java.sql.SQLException: la conexión es de solo lectura. Las consultas que conducen a la modificación de datos no están permitidas. *

No puedo entender por qué sucede esto. Mi aplicación estaba funcionando bien hace unos días.

Estoy configurando un objeto SessionFactory en mi archivo applicationContext.xml como este:

<bean id="sessionFactory" lass="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="configLocation" value="classpath:/hibernate.cfg.xml"/> <property name="packagesToScan"> <list> <value>com.domain.domainObjects</value> </list> </property> </bean>

mi archivo hibernate.cfg.xml se ve así:

<?xml version=''1.0'' encoding=''utf-8''?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://{url to db}:3306/{db name}</property> <property name="connection.username">{db user}</property> <property name="connection.password">{db password}</property> <!-- JDBC connection pool (use the built-in) --> <property name="connection.pool_size">10</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- Enable Hibernate''s automatic session context management > <property name="current_session_context_class">thread</property--> <!-- Disable the second-level cache --> <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">update</property> </session-factory> </hibernate-configuration>

Estoy usando la versión de mysql / j conenction 5.1, hibernate versión 3.2, mvc de primavera 3.0.5