Hibernato [erro, socorro!]

11 respostas
D

Pessoal alguém sabe me dizer o que pode ser esse erro?


java.lang.UnsupportedOperationException: The user must

supply a JDBC connection

at

net.sf.hibernate.connection.UserSuppliedConnectionProvid

er.getConnection(UserSuppliedConnectionProvider.java:32)

at

net.sf.hibernate.impl.BatcherImpl.openConnection

(BatcherImpl.java:278)

at net.sf.hibernate.impl.SessionImpl.connect

(SessionImpl.java:3302)

at net.sf.hibernate.impl.SessionImpl.connection

(SessionImpl.java:3282)

at

net.sf.hibernate.impl.BatcherImpl.prepareStatement

(BatcherImpl.java:61)

at

net.sf.hibernate.impl.BatcherImpl.prepareStatement

(BatcherImpl.java:56)

at

net.sf.hibernate.impl.BatcherImpl.prepareBatchStatement

(BatcherImpl.java:109)

at

net.sf.hibernate.persister.EntityPersister.insert

(EntityPersister.java:460)

at

net.sf.hibernate.persister.EntityPersister.insert

(EntityPersister.java:442)

at

net.sf.hibernate.impl.ScheduledInsertion.execute

(ScheduledInsertion.java:29)

at net.sf.hibernate.impl.SessionImpl.executeAll

(SessionImpl.java:2414)

at net.sf.hibernate.impl.SessionImpl.execute

(SessionImpl.java:2367)

at net.sf.hibernate.impl.SessionImpl.flush

(SessionImpl.java:2236)

at doug.AmigosDAO.insere(AmigosDAO.java:17)

at doug.AmigosDAO.main(AmigosDAO.java:29)

Exception in thread main

Abraços a todos…

11 Respostas

Jair_Rillo_Junior

coloque o Drive JDBC no Classpath, ou se for WEB, dentro do diretório /WEB-INF/lib

furutani

pode ser que ele não esta encontrando o hibernate.properties, se vc estiver configurando o banco dessa forma. :smiley:

D

Hmm, eu já tenho o driver JDBC dentro do WEB-INF/lib e o hibernate.properties está junto com as classes e arquivo de configuração xx.hbm.xml. Será que ele não está reconhecendo alfo?

Minhas classes estão dentro do WEB-INF/src/doug, no arquivo de configuração eu preciso informar a classe com o pacote junto?
Ex. class=doug.Teste.

Valeu pessoal…

Jair_Rillo_Junior

verifica no seu hibernate.properties, se a linha do driver JDBC está correta…
seu arquivo deve ficar mais ou menos como o abaixo

hibernate.connection.driver_class = org.firebirdsql.jdbc.FBDriver
hibernate.connection.url = jdbc:firebirdsql:localhost:C:\DB.fdb
hibernate.connection.username = SYSDBA
hibernate.connection.password = masterkey
hibernate.connection.pool_size= 15
hibernate.dialect = net.sf.hibernate.dialect.FirebirdDialect

No exemplo acima é para banco de dados Firebird, se você estiver usando, consulte a documentação.

Último detalhe.
Esse arquivo hibernate.properties deve ficar dentro do /WEB-INF/classes (exatamente nesse diretório), mesmo você tendo /WEB-INF/classes/doug/… seu arquivo de configuração fica dentro do /WEB-INF/classes

D

Olá ManchesteR

Notei que existe algumas diferenças do teu exemplo em relação ao meu arquivo de configuração.

1º - Estou utilizando o mysql, mas este não é um problema.
2º - Estou utilizando o mysql como root, e não possuo senha, logo no meu arquivo a linha referente a password fica assim, password =
3º Também não estou referenciando o pool, não possuo nenhum pool de conexões.

Será que o erro pode estar em algum desses itens?

Obrigado pela força…

furutani

Não sei se isso gera um problema.
mas tente assim crie um Properties na sua classe mapeamentoProperties props = new Properties(); props.put("hibernate.dialect", "net.sf.hibernate.dialect.PostgreSQLDialect"); props.put("hibernate.connection.driver_class", "org.postgresql.Driver"); props.put("hibernate.connection.url", "jdbc:postgresql://192.168.10.135:5432/SCPN"); props.put("hibernate.connection.username", "postgres"); props.put("hibernate.connection.password", "");

Configuration cfg = new Configuration() .addURL(url0) .addURL(url1) .setProperties(props);

D

OK, vou tentar fazer isso, te aviso logo apos…

Um abraço… :smiley:

raguiar

Segue um exemplo da configuracao no hibernate.properties, com usuario root sem senha:

## MySQL
hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql://lnxserver/clubes
hibernate.connection.username root
hibernate.connection.password
D

OK raguiar…

valeu pelo exemplo, vou verificar se existe alguma diferença com o que estou usando.

Abraçoss, obrigado…

D

Pessoa estou agora com o seguinte erro…

23/10/2004 15:24:44 net.sf.hibernate.cfg.SettingsFactory buildSettings
WARNING: Could not obtain connection metadata
java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.ConnectException: Connection refused: connect

** BEGIN NESTED EXCEPTION **

java.net.ConnectException
MESSAGE: Connection refused: connect

STACKTRACE:

java.net.ConnectException: Connection refused: connect

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)

at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)

at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)

at java.net.Socket.connect(Socket.java:452)

at java.net.Socket.connect(Socket.java:402)

at java.net.Socket.(Socket.java:309)

at java.net.Socket.(Socket.java:124)

at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:124)

at com.mysql.jdbc.MysqlIO.(MysqlIO.java:225)

at com.mysql.jdbc.Connection.createNewIO(Connection.java:1779)

at com.mysql.jdbc.Connection.(Connection.java:450)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)

at java.sql.DriverManager.getConnection(DriverManager.java:512)

at java.sql.DriverManager.getConnection(DriverManager.java:140)

at net.sf.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:101)

at net.sf.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:72)

at net.sf.hibernate.cfg.Configuration.buildSettings(Configuration.java:1132)

at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:766)

at doug.AmigoDAO.(AmigoDAO.java:11)

at doug.TesteAmigo.main(TesteAmigo.java:17)

** END NESTED EXCEPTION **

Vcs podem me ajudar novamente, :oops:

legionarioba

Cai numa dúvida que veio de um outro post sobre hibernate. No caso em questão… a pessoa queria fazer uso do hibernate.properties para poder criar vários tipos de bancos…a questão é que, seguindo a arquitetura que o mesmo planejou, as classes todas ficaram num jar, e hibernate.properties ficaria fora dele para ser manipulado…pergunta-se:

  1. É possível manipular um properties(modificá-lo) mantendo-o dentro de um jar, deixar ele rodando em produção no Tomcat?

  2. Como as classes poderiam estar referenciando este arquivo para acessá-lo e alterá-lo? Qual o local correto para colocar o mesmo? E se existe ele é obrigatório…(Desconsiderando mudanças estruturais quaisquer como referências a contexto de apps dentro do Tomcat)?

Criado 20 de outubro de 2004
Ultima resposta 30 de dez. de 2004
Respostas 11
Participantes 5