java Derby
Ola estou tentando acompanhar as aulas do curso de jpa.
So que no momento de rodar um simples exemplo com o jpa para busca em uma tabela
ele me retorna o erro
ed by: org.hibernate.HibernateException: JDBC Driver class not found: org.apache.derby.jdbc.ClientDriver
Na aula um simples clqique com o botao direito e a escolha do java DB driver resolve este problema
So que na versao do netbeans 7 nao tem este esquema.
Baixe o pacote do derby e criei uma biblioteca apontando para esta pasta. mas como sou um meor iniciante, ainda sim nao funcionou... Outro detalhe e se este pacote hibernate jpa que esta incluso, posso usa-lo para realizar esta aulas oferencidas na devmedia,
blz e obrigado
Jonas Isaias
Curtidas 0
Respostas
Anthony Accioly
23/04/2011
Isaias,
Encontre os seguintes jars do Derby: derby.jar derbyclient.jar (provavelmente eles estão na pasta lib da sua distribuição).Se sua aplicação for de linha de comando / Desktop clique com o botão direito na pasta Libraries (visão Project), selecione Add Jar/Folder e aponte para os dois jars acima. Se você quiser manter o jar do banco no projeto, crie uma pasta lib no root da sua aplicação e copie os jars para lá... Daí escolha a opção de caminho relativo na hora de adicionar as bibliotecas, assim o projeto vai funcionar em qualquer computador.Acho que não tem problema usar a biblioteca Hibernate + JPA do Netbeans para as aulas já que é uma distribuição recente, porém, é mais fácil perguntar diretamente ao autor.
Abraços,
Encontre os seguintes jars do Derby: derby.jar derbyclient.jar (provavelmente eles estão na pasta lib da sua distribuição).Se sua aplicação for de linha de comando / Desktop clique com o botão direito na pasta Libraries (visão Project), selecione Add Jar/Folder e aponte para os dois jars acima. Se você quiser manter o jar do banco no projeto, crie uma pasta lib no root da sua aplicação e copie os jars para lá... Daí escolha a opção de caminho relativo na hora de adicionar as bibliotecas, assim o projeto vai funcionar em qualquer computador.Acho que não tem problema usar a biblioteca Hibernate + JPA do Netbeans para as aulas já que é uma distribuição recente, porém, é mais fácil perguntar diretamente ao autor.
Abraços,
GOSTEI 0
Davi Costa
23/04/2011
O NetBeans instala o glassfish junto e dentro das suas subpastas possui as libs do derby.
Att Davi
Att Davi
GOSTEI 0
Jonas Isaias
23/04/2011
Apos ter encontrado estes jar. aparece esta mensagem
java.sql.SQLSyntaxErrorException: O esquema 'JPAEX' não existe
no persitence. esta setado assim
<persistence-unit name="jpaAulaPersistence" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>br.com.senai.jpa.entity.People</class>
<properties>
<property name="hibernate.connection.username" value="jpaex"/>
<property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="hibernate.connection.password" value="jpaex"/>
<property name="hibernate.connection.url" value="jdbc:derby://localhost:1527/jpaAulaBD"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
</properties>
</persistence-unit>
</persistence> e no arquivo que faz uma consulta simples esta assim package br.com.senai.jpa; import br.com.senai.jpa.entity.People;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence; public class Executar implements java.io.Serializable {
public Executar(){
}
public static void main(String[] args){
EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpaAulaPersistence");
EntityManager em = emf.createEntityManager();
People p = em.find(People.class, 1);
em.close();
emf.close();
}
}
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>br.com.senai.jpa.entity.People</class>
<properties>
<property name="hibernate.connection.username" value="jpaex"/>
<property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="hibernate.connection.password" value="jpaex"/>
<property name="hibernate.connection.url" value="jdbc:derby://localhost:1527/jpaAulaBD"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
</properties>
</persistence-unit>
</persistence> e no arquivo que faz uma consulta simples esta assim package br.com.senai.jpa; import br.com.senai.jpa.entity.People;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence; public class Executar implements java.io.Serializable {
public Executar(){
}
public static void main(String[] args){
EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpaAulaPersistence");
EntityManager em = emf.createEntityManager();
People p = em.find(People.class, 1);
em.close();
emf.close();
}
}
GOSTEI 0
Anthony Accioly
23/04/2011
Por algum motivo o Hibernate não está conseguindo encontrar o schema / tabelas.Você consegue conectar no banco através da linha de comando / GUI do Netbeans e verificar se está tudo certo?Tenta adicionar a seguinte propriedade ao persistence.xml para ver se ajuda:Se você conectar na mão e ver que não existem tabelas no banco, outra opção é pedir para o hibernate gerar o DDL para você.[code]<property name="hibernate.hbm2ddl.auto" value="update"/>
Abraços,
<property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
Abraços,
GOSTEI 0