zoukankan      html  css  js  c++  java
  • hibernate---java.lang.UnsupportedOperationException: The user must supply a JDBC connection

        在配置hibernate时。运行代码时一直抛错:

    Exception in thread "main" java.lang.UnsupportedOperationException: The user must supply a JDBC connection
    	at org.hibernate.connection.UserSuppliedConnectionProvider.getConnection(UserSuppliedConnectionProvider.java:54)
    	at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
    	at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
    	at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
    	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1616)
    	at org.hibernate.loader.Loader.doQuery(Loader.java:717)
    	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
    	at org.hibernate.loader.Loader.loadEntity(Loader.java:1953)
    	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
    	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
    	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3270)
    	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
    	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
    	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
    	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
    	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
    	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1080)
    	at org.hibernate.impl.SessionImpl.get(SessionImpl.java:997)
    	at org.hibernate.impl.SessionImpl.get(SessionImpl.java:990)
    	at com.ado.test.hibernate.HibernateTest.main(HibernateTest.java:25)
    

        后来看了后台的源代码,发现创建的ConnectionProvider实例为UserSuppliedConnectionProvider(用户自己定义的Provider),配置有点异常。断点跟踪了创建该实例的代码,原来是由于在依据各个配置属性创建该实例时。由于配置属性keyword与hibernatekeyword不一样。所以导致创建了用户自己定义的Provider,从而出现了上面的异常。

        測试代码使用的是hibernate 3.5.6。标准的keyword能够查看org.hibernate.cfg.Environment类中的定义。

    hibernate版本号不一样,使用的keyword也不一样。

    这点须要注意。

        hibernate 3.5.6使用的是:

    hibernate.connection.driver_class
    hibernate.connection.url
    hibernate.connection.username
    hibernate.connection.password


    
  • 相关阅读:
    matlab矩阵中如何去掉重复的行;如何找到相同的行,并找到其位置
    Coursera 机器学习 第9章(下) Recommender Systems 学习笔记
    机器学习基石笔记1——在何时可以使用机器学习(1)
    Coursera 机器学习 第9章(上) Anomaly Detection 学习笔记
    matlab安装过程的被要求的配置程序
    jdk环境变量配置
    Coursera 机器学习 第8章(下) Dimensionality Reduction 学习笔记
    Coursera 机器学习 第8章(上) Unsupervised Learning 学习笔记
    Coursera 机器学习 第7章 Support Vector Machines 学习笔记
    linux服务器---squid限制
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8303321.html
Copyright © 2011-2022 走看看