Erro No transactional EntityManager available no Spring

0 respostas
javaspring
D

estou fazendo alguns testes com spring security e ao tentar gravar no banco está dando esse erro, aparentemente está tudo configurado, podem me ajudar?

public class JPAConfiguration {

    @Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
    LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();
    JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();

    factoryBean.setJpaVendorAdapter(vendorAdapter);

    DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setUsername("root");
    dataSource.setPassword("root");
    dataSource.setUrl("jdbc:mysql://localhost:3306/base_preconizado");
    dataSource.setDriverClassName("com.mysql.jdbc.Driver");

    factoryBean.setDataSource(dataSource);

    Properties props = new Properties();
    props.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
    props.setProperty("hibernate.show_sql", "true");
    props.setProperty("hibernate.hbm2ddl.auto", "update");

    factoryBean.setJpaProperties(props);

    factoryBean.setPackagesToScan("br.com.preconizado.models");

    return factoryBean;

}

@Bean
public JpaTransactionManager transactionManager(EntityManagerFactory emf) {
    return new JpaTransactionManager(emf);
}

meu metodo dao

@Repository
    @Transactional
    public class UsuarioDAO implements UserDetailsService {

        @PersistenceContext
        private EntityManager manager;

        // @Autowired
        // public UsuarioDAO usuarioDAO;

      

        // metodo que grava os dados no banco
        public void gravar(Usuario usuario) {
            manager.persist(usuario);
            System.out.println("inserido");

        }

        
        public List<Usuario> find() {
            List<Usuario> usuarios = manager.createQuery("select u from Usuario u", Usuario.class).getResultList();
            return usuarios;
        }
    }
Criado 5 de agosto de 2016
Respostas 0
Participantes 1