Hibernato [erro, socorro!]

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…

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

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

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…

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

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…

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);

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

Um abraço… :smiley:

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 

OK raguiar…

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

Abraçoss, obrigado…

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:

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)?