e ai rapaziada, blz…
** estou seguindo um tutorial da caelum sobre aplicação web…tenho alguns problemas ao usar o hibernate…uso o netbeans…
[code]** tenho uma classe chamada GeraTabela:
package br.com.ricardo.hibernate;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class GeraTabela {
public static void main(String[] args) {
// Cria uma configuração para a classe produto
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Produto.class);
new SchemaExport(cfg).create(true,true);
}
}[/code]
** o meu hibernate.properties está no src da minha aplicação:
[quote]## MySQL
hibernate.dialect = org.hibernate.dialect.MySQLDialect
#hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect
#hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect
hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.url = jdbc:mysql://localhost:3306/teste
hibernate.connection.username = root
hibernate.connection.password = catia[/quote]
**** quando executa a classe GeraTabela , gera os seguintes erros…
[quote]Exception in thread “main” org.hibernate.HibernateException: The dialect was not set. Set the property hibernate.dialect.
at org.hibernate.dialect.Dialect.getDialect(Dialect.java:610)
at org.hibernate.dialect.Dialect.getDialect(Dialect.java:632)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:84)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:59)
at br.com.ricardo.hibernate.GeraTabela.main(GeraTabela.java:12)[/quote]
espero um help…
valeuu
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Ratinho[/color][/size] :joia:
Certifique-se que o hibernate.properties esta no seu classpath.
entaummm rapazidaaa … adicionei todos os jars do drive do mysql e todos outros jars na lib da minha aplicação …o meu hibernate.properties esta no mesmo diretorio do meu src …br.com.ricardo.hibernate…ta ocorrendo os mesmos problemasss…
obs:
driver conector versao 3.1.8
hibernate-annotations-3.2.0.CR1
hibernate-3.1.3
netbeans 5.0 beta
java 5.0
os erros
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread “main” org.hibernate.HibernateException: The dialect was not set. Set the property hibernate.dialect.
at org.hibernate.dialect.Dialect.getDialect(Dialect.java:610)
at org.hibernate.dialect.Dialect.getDialect(Dialect.java:632)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:84)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:59)
at br.com.ricardo.hibernate.GeraTabela.main(GeraTabela.java:12)
o arquivo hibernate.properties
MySQL
hibernate.dialect = org.hibernate.dialect.MySQLDialect
#hibernate.dialect =org.hibernate.dialect.MySQLInnoDBDialect
#hibernate.dialect= org.hibernate.dialect.MySQLMyISAMDialect
hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.url = jdbc:mysql://localhost:3306/teste
hibernate.connection.username = root
hibernate.connection.password = catia
valeuu
copia o hibernate.properties para a pasta raiz de onde estao seus .class
problema resolvido…testei no eclipse e rodou, no netbeans estou na luta…
depois de ter inserido dados da tabela, faço a pesquisa do mesmo e nao ta aparecendo nenhum dado da tabela
classe adicionar produto:
package br.com.caelum.hibernate;
import org.hibernate.Session;
public class AdicionaProduto {
public static void main(String[] args) {
Session session = new HibernateFactory().getSession();
Produto p = new Produto();
p.setNome("Banana Nanica");
p.setDescricao("Um cacho de banana");
p.setPreco(1.50);
session.save(p);
System.out.println("ID do produto: " + p.getId());
session.close();
}
}
classe pesquisa produto
package br.com.caelum.hibernate;
import java.util.List;
import org.hibernate.Session;
public class PesquisaProduto {
public static void main(String[] args) {
Session session = new HibernateFactory().getSession();
//Produto encontrado = (Produto) session.load(Produto.class, new Long(1));
//System.out.println(encontrado.getNome());
Produto p = new Produto();
//Pesquisa produto com cláusula WHERE
List<Produto> lista = session.createQuery("from Produto where id=1").list();
for (Produto atual : lista) {
System.out.println(atual.getId() + " - " + atual.getNome() + " (Preço :" + atual.getPreco() + ")");
}
}
}
valeuu
Na hora que vc vai salvar algo no banco, vc tem q fazer dentro de uma transacao e comita-la:
Transaction tx = session.beginTransaction();
...
session.save(p);
tx.commit();
e ai dark …blz …entaum a classe adiciona produto ficaria assim:
package br.com.caelum.hibernate;
import org.hibernate.Session;
public class AdicionaProduto {
public static void main(String[] args) {
Session session = new HibernateFactory().getSession();
Transaction tx = session.beginTransaction();
Produto p = new Produto();
p.setNome("Banana Nanica");
p.setDescricao("Um cacho de banana");
p.setPreco(1.50);
session.save(p);
tx.commit();
System.out.println("ID do produto: " + p.getId());
session.close();
}
}
valeuu…