Gerou um monte de INFO e ainda não imprimiu os registros mas o código esta sem erros. Vou citar o INFO e o código que eu fiz aqui.
Mas antes quero dizer que minha intenção é fazer um crud, meu banco é MySQL e já contem alguns registros; Esta sem interface mas estou testando pelo main, uma busca com critéria
Aqui é o INFO:
[color=red]
run:
02/05/2011 01:25:09 org.hibernate.cfg.annotations.Version
INFO: Hibernate Annotations 3.3.1.GA
02/05/2011 01:25:09 org.hibernate.cfg.Environment
INFO: Hibernate 3.2.5
02/05/2011 01:25:09 org.hibernate.cfg.Environment
INFO: hibernate.properties not found
02/05/2011 01:25:09 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
02/05/2011 01:25:09 org.hibernate.cfg.Environment
INFO: using JDK 1.4 java.sql.Timestamp handling
02/05/2011 01:25:09 org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
02/05/2011 01:25:09 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
02/05/2011 01:25:09 org.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: null
02/05/2011 01:25:09 org.hibernate.cfg.AnnotationConfiguration secondPassCompile
INFO: Hibernate Validator not found: ignoring
02/05/2011 01:25:09 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
02/05/2011 01:25:09 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 20
02/05/2011 01:25:09 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
02/05/2011 01:25:09 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/agendadatabase
02/05/2011 01:25:09 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=root, password=****}
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: MySQL, version: 5.5.10
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.6 ( Revision: ${svn.Revision} )
02/05/2011 01:25:09 org.hibernate.dialect.Dialect
INFO: Using dialect: org.hibernate.dialect.MySQLDialect
02/05/2011 01:25:09 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
02/05/2011 01:25:09 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: disabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): enabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Maximum outer join fetch depth: 2
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL inserts for batching: disabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
02/05/2011 01:25:09 org.hibernate.hql.ast.ASTQueryTranslatorFactory
INFO: Using ASTQueryTranslatorFactory
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JPA-QL strict compliance: disabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.NoCacheProvider
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
02/05/2011 01:25:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
02/05/2011 01:25:09 org.hibernate.impl.SessionFactoryImpl
INFO: building session factory
02/05/2011 01:25:09 org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured[/color]
CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)
Aqui é o COnfig do Hibernate
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/agendadatabase</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">junior</property>
</session-factory>
</hibernate-configuration>
Aqui é o hibernateUtil
package util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new
AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
}
public static Session getSession() {
return sessionFactory.openSession();
}
}
Aqui é o Dao generico
package dao;
import util.HibernateUtil;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class DaoGenerico<T> {
private Class classe;
private Session session;
protected Session getSession() {
return session;
}
public DaoGenerico(Class classe) {
this.session = HibernateUtil.getSession();
this.classe = classe;
}
public void salvar(T objeto) {
session.save(objeto);
}
public void remover(T objeto) {
Transaction ts = session.beginTransaction();
session.save(objeto);
ts.commit();
}
public void atualizar(T objeto) {
Transaction ts = session.beginTransaction();
session.update(objeto);
ts.commit();
}
public T load(long id) {
return (T) session.load(classe, id);
}
}
Aqui é dao do Contato
package dao;
import java.util.Collection;
import modelo.Contato;
import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
public class CobtatoDao extends DaoGenerico<Contato>{
public ContatoDao() {
super(Contato.class);
}
public Collection<Contato> buscaPorNome(String nome) {
Criteria c = getSession().createCriteria(Contato.class);
c.add(Restrictions.ilike("nome", nome));
//c.addOrder(Order.asc("idade"));
return c.list();
}
}
Aqui é a classe de entidade
package modelo;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Contato implements Serializable {
@Id
@GeneratedValue
private Long id;
private String email;
private String endereco;
private String nascimento;
private String nome;
private String observacao;
private String sexo;
private int telefone;
public Contato() {
}
public Contato(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getNascimento() {
return nascimento;
}
public void setNascimento(String nascimento) {
this.nascimento = nascimento;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getObservacao() {
return observacao;
}
public void setObservacao(String observacao) {
this.observacao = observacao;
}
public String getSexo() {
return sexo;
}
public void setSexo(String sexo) {
this.sexo = sexo;
}
public int getTelefone() {
return telefone;
}
public void setTelefone(int telefone) {
this.telefone = telefone;
}
}
Aqui é o main que eu uso para testar a busca:
package testehibernate;
import dao.ContatoDao;
import modelo.Contato;
public class Main extends dao.ContatoDao {
public static void main(String[] args) {
ContatoDao dao = new ContatoDao();
for (Contato contato : dao.buscaPorNome("Cicrano")) {
System.out.println(contato.toString());
}
}
}
Aprecio qualquer ajuda pois já venho tentando montar isso a alguns dias :oops: . obrigado.