Olá Julio,
Esse erro ocorre porque o Spring Boot habilita por padrão a opção "spring.jpa.open-in-view", que permite que as consultas ao banco de dados sejam executadas durante a renderização da visualização. No entanto, essa opção pode causar problemas de desempenho e, por isso, é recomendado desabilitá-la.
Você mencionou que tentou desabilitar a opção adicionando "spring.jpa.open-in-view=false" no arquivo "application.properties", mas o sistema não rodou. Você pode tentar adicionar essa configuração diretamente na classe de configuração do Spring. Por exemplo:
@Configuration
@EnableTransactionManagement
public class AppConfig {
@Bean
public JpaTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(entityManagerFactory);
return transactionManager;
}
@Bean
public PersistenceExceptionTranslationPostProcessor exceptionTranslation() {
return new PersistenceExceptionTranslationPostProcessor();
}
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(dataSource());
em.setPackagesToScan(new String[] { "com.example.demo" });
JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
em.setJpaVendorAdapter(vendorAdapter);
em.setJpaProperties(additionalProperties());
return em;
}
@Bean
public DataSource dataSource(){
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/test");
dataSource.setUsername( "root" );
dataSource.setPassword( "root" );
return dataSource;
}
Properties additionalProperties() {
Properties properties = new Properties();
properties.setProperty("hibernate.hbm2ddl.auto", "create-drop");
properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
properties.setProperty("hibernate.show_sql", "true");
properties.setProperty("hibernate.format_sql", "true");
properties.setProperty("spring.jpa.open-in-view", "false"); // aqui desabilitamos a opção
return properties;
}
}
Nesse exemplo, a opção "spring.jpa.open-in-view" é desabilitada na configuração do Hibernate. Verifique se isso resolve o problema.
Espero ter ajudado e bons estudos!