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”
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.
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
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.
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);
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
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)
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:
É possível manipular um properties(modificá-lo) mantendo-o dentro de um jar, deixar ele rodando em produção no Tomcat?
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)?