Problema com JNDI e Hibernate

6 respostas
R

Senhores,

Não consigo fazer o hibernate funcionar com JNDI.
Antes estava dando erro de sem permissão agora ele nao da mais erro nenhum e da uma mensagem no arquivo de log, porem eu nao consigo realizar nenhum acesso a base de dados.

O mensagem no log é a seguinte:

2005-01-18 12:00:27,930 INFO hibernate.impl.SessionFactoryObjectFactory -> Not binding factory to JNDI, no JNDI name configured

O meu arquivo hibernate.properties esta da seguinte forma:

hibernate.connection.driver_class = org.gjt.mm.mysql.Driver
hibernate.connection.datasource = java:/comp/env/jdbc/fivedesk
hibernate.transaction.factory_class = net.sf.hibernate.transaction.JTATransactionFactory
hibernate.connection.username = usuario
hibernate.connection.password = senha
hibernate.dialect = net.sf.hibernate.dialect.MySQLDialect

Para ver se estava funcionando corretamente o JNDI do tomcat eu fiz uma pagina jsp com o seguinte codigo e funcionou perfeitamente (imprimindo registros do banco), ou seja, o jndi esta configurado corretamente.

java.sql.Connection connection;
java.sql.Statement stmt;
java.sql.ResultSet rset;

try {
	javax.naming.InitialContext ctx = new javax.naming.InitialContext();
	javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup("java:comp/env/jdbc/fivedesk");
	if ( !(ds == null)) {
		connection = ds.getConnection();
		String query = "select * from pssoa";
		stmt = connection.createStatement();
		rset = stmt.executeQuery(query);
		
		while (rset.next())
			out.println(rset.getString("nm_pssoa") + "<br>");
	}
} catch (java.sql.SQLException e) {
	out.println("Nao foi possivel conectar no banco de dados");
} catch (javax.naming.NamingException e) {
	out.println("Nao foi possivel estabelecer conexao.");
}

Se alguem puder me ajudar ver onde eu estou errando seria de bom grado, pois eu ja esgotei as minhas tentativas.

Obrigado,
Rafael Dias Nasciment

6 Respostas

ricardolecheta

tenta assim:

hibernate.connection.datasource = java:/comp/env/jdbc/fivedesk
R

ricardolecheta,

nao entendi o que voce quis dizer…

ricardolecheta

rdnascimento:
ricardolecheta,

nao entendi o que voce quis dizer…

desculpa, escrevi a mesma coisa que vc :slight_smile:

é assim:

java:comp

não assim:

java:/comp

nao tem barra depois de “java:”…

se nao funcionar, tenta somente “jdbc/fivedesk” para ver o que acontece!

me informe do resultado :stuck_out_tongue:

J

Desde segunda-feira estava tentando resolver um problema semelhante e só hoje descobri que estava faltando o JAR do JTA no meu classpath. Foi só copiar para \WEB-INF\lib que funcionou.

Se não tiver, você pode encontrar o JAR em http://java.sun.com/products/jta/

Espero que ajude.

R

Fiz o que voces falaram e continua dando erro.

Alguem aki poderia me enviar um exemplo de um arquivo hibernate.properties que acessa via JNDI e se for possivel na locaweb, pois o meu servidor é o da locaweb.

Valeu,
Rafael

ricardolecheta

se vc executar aquele hello world com tomcat da documentação do hibernate, funcionar?

Criado 18 de janeiro de 2005
Ultima resposta 19 de jan. de 2005
Respostas 6
Participantes 3