1
resposta

Sugestão de uso do Postgres para continuação das aulas

Olá pessoal, vi que, assim como eu, muita gente não estava conseguindo fazer funcionar a configuração do JPA para criar/acessar o MySQL e continuar com as atividades do curso. Depois de dois dias tentando n possíveis soluções eu desisti do MySQL e fui para o o PostgreSQL. Com isso decidi compartilhar minha configuração para quem deseja prosseguir dessa maneira, ou que ainda venha a ter esse problema.

JPAConfiguration

@Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
        LocalContainerEntityManagerFactoryBean containerEntityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();

        JpaVendorAdapter jpaVendorAdapter = new HibernateJpaVendorAdapter();

        containerEntityManagerFactoryBean.setJpaVendorAdapter(jpaVendorAdapter);

        DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
        driverManagerDataSource.setUsername("admin");
        driverManagerDataSource.setPassword("admin");
        driverManagerDataSource.setUrl("jdbc:postgresql://localhost:5432/casadocodigo");
        driverManagerDataSource.setDriverClassName("org.postgresql.Driver");

        containerEntityManagerFactoryBean.setDataSource(driverManagerDataSource);

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

        containerEntityManagerFactoryBean.setJpaProperties(props);
        containerEntityManagerFactoryBean.setPackagesToScan("br.com.casadocodigo.loja.models");

        return containerEntityManagerFactoryBean;
    }

Dependências Maven, além de mudarmos o driver, temos que inserir a do jaxb por causa de alguns ClassNotFound que estouram.

        <dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.1-901-1.jdbc4</version>
        </dependency>

        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.2.11</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>2.2.11</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.2.11</version>
        </dependency>

Espero que possa ter ajudado. Qualquer coisa comentem aí.

Vlw!

1 resposta

Obrigado por compartilhar Mateus! =)