Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Dúvida no Ex. 6 da Aula 2 - Cadastro de produtos

Fiz uma adptação e ao invés de usar o mysql eu usei o firebird, estive olhando no guj e consegui as mesmas informações mostrada na aula só que se referindo ao firebird, porem ao tentar subir o servidor recebo uma mensagem de erro, podem me ajudar? DESDE JÁ OBRIGADO segue a baixo como ficou a minha configuração usando o firebird

public DataSource DataSource() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("org.firebirdsql.jdbc.FBDriver"); dataSource.setUrl("jdbc:firebirdsql:localhost/3050:/home/wilker/Documentos/bancos/AUTOBYTE.gdb"); dataSource.setUsername("SYSDBA"); dataSource.setPassword("masterkey");

return dataSource; }

private Properties additionalProperties() { Properties properties = new Properties();

properties.setProperty("hibernate.hbm2ddl.auto", "create"); properties.setProperty("hibernate.dialect", "org.hibernate.dialect.FirebirdDialect"); properties.setProperty("hibernate.show_sql", "true");

return properties; }

segue abaixo tambem o erro mostrado pelo tomcat

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class br.com.casadocodigo.loja.conf.JPAConfiguration: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory

5 respostas

Olá,

Você criou o banco de dados no Firebird, por favor?

Olá,

Desculpe-me, você informou o nome do banco de dados: /home/wilker/Documentos/bancos/AUTOBYTE.gdb

Olá,

Qual versão do Firebird e qual versão do jaybird você está utilizando ?

solução!

Boa tarde Cassius,

consegui resolver, eu fiz duas alterações a primeira delas foi na minha classe de produto mais especificamente na minha anotação deixando da seguinte forma

@GeneratedValue(strategy=GenerationType.AUTO)

e na minha classe JPAConfiguration percebi que o meu metodo

private Properties additionalProperties() { Properties properties = new Properties();

properties.setProperty("hibernate.hbm2ddl.auto", "update"); properties.setProperty("hibernate.dialect", "org.hibernate.dialect.FirebirdDialect"); properties.setProperty("hibernate.show_sql", "true");

return properties; }

percebi que se eu deixar update quando faço o cadastro do produto é criado duas tabelas de nomes HT_PRODUTO e PRODUTO, mudando para create é apenas criado uma unica tabela.

private Properties additionalProperties() { Properties properties = new Properties();

properties.setProperty("hibernate.hbm2ddl.auto", "create"); properties.setProperty("hibernate.dialect", "org.hibernate.dialect.FirebirdDialect"); properties.setProperty("hibernate.show_sql", "true");

return properties; }

obrigado pela ajuda!

Olá,

Muito bem ! :-)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software