Legal… Já to o dia todo tentando fazer o Hibernate Funcionar e ainda não consegui…
Blza… O Mundo é nosso
Estou usando o Eclispe para debugar.
Copiei o Código a Seguir de um tutorial
public class TesteDeConfiguracao {
public static void main(String[] args) {
try {
// Cria uma configuração para a classe Produto
Configuration cfg = new Configuration();
cfg.addClass(Produto.class);
SessionFactory factory = cfg.buildSessionFactory();
Gerei os arquivos *hbn.xml atravez do xdoclets(aparentemente funcionou)
tenho o arquivo hibernate.properties com o seguinte código
hibernate.query.substitutions true 1, false 0, yes ‘Y’, no ‘N’
hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class org.gjt.mm.mysql.Driver
jdbc:mysql://localhost:3306/teste?autoReconnect=true&reconnectAtTxEnd=true&alwaysClearStream=true&useUnbufferedInput=false
hibernate.connection.url jdbc:mysql://localhost:3306/teste
hibernate.connection.username root
hibernate.connection.password ** # Logico que aqui é minha senha e não **
hibernate.connection.pool_size 1
hibernate.proxool.pool_alias pool1
hibernate.jdbc.batch_size 0
hibernate.jdbc.batch_versioned_data true
hibernate.jdbc.use_streams_for_binary true
hibernate.max_fetch_depth 1
hibernate.cache.region_prefix hibernate.test
hibernate.cache.use_query_cache true
hibernate.cache.provider_class net.sf.hibernate.cache.EhCacheProvider
Meu arquivo hibernate.cfg.xml (que não tinha no tutorial mas como tinha em um outro post do Forum eu coloquei)
Finalmente e não menos importante a Mensagem de Erro
Esta mensagem ocorre sempre que passa pela
“SessionFactory factory = cfg.buildSessionFactory();”
(cfg.Environment 462 ) Hibernate 2.1.2
(cfg.Environment 491 ) hibernate.properties not found
(cfg.Environment 519 ) using CGLIB reflection optimizer
(cfg.Configuration 329 ) Mapping resource: br/com/caelum/hibernate/Produto.hbm.xml
(cfg.Binder 229 ) Mapping class: br.com.caelum.hibernate.Produto -> produtos
(cfg.Configuration 595 ) processing one-to-many association mappings
(cfg.Configuration 604 ) processing one-to-one association property references
(cfg.Configuration 629 ) processing foreign key constraints
(cfg.SettingsFactory 50 ) No dialect set - using GenericDialect: The dialect was not set. Set the property hibernate.dialect.
(dialect.Dialect 82 ) Using dialect: net.sf.hibernate.dialect.GenericDialect
(cfg.SettingsFactory 62 ) Use outer join fetching: false
(connection.UserSuppliedConnectionProvider 25 ) No connection properties specified - the user must supply JDBC connections
(transaction.TransactionManagerLookupFactory 33 ) No TransactionManagerLookup configured (in JTA environment, use of process level read-write cache is not recommended)
Obrigado pela Ajuda
O seu hibernate.properties está no classpath da sua aplicação?
_fs
Março 9, 2005, 8:04pm
#3
Além do que o caio falou, algumas observações:
Faltaram os ‘=’ no .properties
propriedade=valor
E se você está fazendo isto aqui:
<mapping resource="Produto.hbm.xml" />
Não precisa fazer de novo aqui:
cfg.addClass(Produto.class);
E você pode declarar tudo no hibernate.cfg.xml, sem usar o .properties. Por exemplo
<property name="hibernate.jdbc.batch_size">15</property>
<property name="hibernate.connection.driver_class">
net.sourceforge.jtds.jdbc.Driver
</property>
<property name="hibernate.dialect">
net.sf.hibernate.dialect.SQLServerDialect
</property>
Eu tive esse tipo de problema no eclipse por utilizar a opção de separar os .class em um diretório e os .java em outro, como citado pelo colega, problema de classpath e pura inexperiencia minha, pra fazer, um teste mais suscinto e ver onde vc está errando e eliminar essa possibilidade, crie a principio seu projeto marcando como opção para colocar tudo num diretorio só, ao invez de bin e src, espero ter ajudado.
devo fazer com todas as propriedades do hibernate.properties?
bom o conseguir fazer o programa ler o hibernate.properties
mas não conseguri faze-lo ler o Hibernate.cfg.xml
Mof
Dezembro 20, 2007, 11:28am
#7
Olha na sua classe TesteDeConfiguracao.
nela você esta criando uma instancia da classe Configuration();
“Configuration cfg = new Configuration();”
Configuration por padrão vai buscar um hibernate.properties se você deseja ler um hibernate.cfg.xml você precisa charmar o metodo configure dessa mesma classe
Configuration cfg = new Configuration().configure();
bahiano
Outubro 24, 2010, 11:34am
#8
mano Mof… eu te AMO…
oakpoakkao
funcionou tava quebrando a cabeçaamo tempão e do jeito que vc falou funcionou…
Ficando assim:
private SessionFactory factory;
public TipoInstituicaoDAO() throws Exception{
factory = new Configuration().configure().buildSessionFactory();
}
public void insertTipoInstituicao(TipoInstituicao us) throws Exception {
Session session = factory.openSession();
session.save(us);
session.flush();
session.close();
}