Olá!!!
Estou tentando apontar os testes para um outro banco de dados, mas não encontro onde posso alterar a configuração do Hibernate no projeto pm73-dao.
Tem como fazer isso ou a implementação é restrita ao HSQLDB?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá!!!
Estou tentando apontar os testes para um outro banco de dados, mas não encontro onde posso alterar a configuração do Hibernate no projeto pm73-dao.
Tem como fazer isso ou a implementação é restrita ao HSQLDB?
As configurações são feitas no arquivo "persistence.xml", e você pode utilizar diversas bases de dados diferentes, basta ter o driver.
Skywalker, valeu pelo retorno!
Mas não encontrei esse arquivo no projeto. Alguns fóruns também falam sobre "persistence.cfg.xml", ou que ele deveria estar na /src, mas não encontrei esse arquivo também.
Geralmente fica na pasta META-INF, e a sua localização vai depender um pouco de como você criou o projeto. Geralmente uso maven para criar os projetos, que cria a pasta em src/main/resources.
Qual sistema operacional você está usando? Se for mac-os ou algum linux pode usar o comando
find -name persistence.xml no diretório raíz do seu projeto.
Skywalker, estou usando o Windows. Rodei uma busca pelo Everything mas não achou esse arquivo.
O projeto foi disponibilizado pelo Alura na primeira aula do curso de Testes de Integração: http://s3.amazonaws.com/caelum-online-public/PM-73/pm73-dao.zip
Ps.: Everything = https://www.voidtools.com/
Ok, entendi. Eu achava que se tratava de um projeto jpa, mas não era o caso, e por isso não tinha o arquivo persistence.jpa. A configuração do banco de dados está sendo feita na classe CriadorDeSessoes. Lá você pode alterar as configurações com os mesmos parâmetros que usaria num arquivo de persistence.xml. Adicionei o driver do postgres no BuildPath do projeto e fiz o teste depois de alterar o método getConfig e funcionou.:
public Configuration getConfig() {
if(config == null) {
config = new AnnotationConfiguration()
.addAnnotatedClass(Lance.class)
.addAnnotatedClass(Leilao.class)
.addAnnotatedClass(Usuario.class)
.setProperty("hibernate.connection.driver_class", "org.postgresql.Driver")
.setProperty("hibernate.connection.url", "jdbc:postgresql://localhost/caelum")
.setProperty("hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect")
.setProperty("hibernate.connection.username", "caelum")
.setProperty("hibernate.connection.password", "")
.setProperty("hibernate.show_sql", "true");
}
return config;
}
(claro que antes eu criei o usuário caelum e a tablea caelum na base de dados com as devidas permissões.)
Boa Skywalker!!
Tava na minha cara, acho que faltou procurar um pouco... rs.
Muito obrigado pela ajuda!!