休止状態:のjavax.persistenceにUnsupportedOperationException原因*ドライバのプロパティ:ユーザーは、JDBC接続を提供する必要がありますか?

StackOverflow https://stackoverflow.com/questions/4405110

  •  25-09-2019
  •  | 
  •  

質問

私が使用している

<property name="javax.persistence.jdbc.driver"   value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url"      value="jdbc:mysql://localhost/whatever" />
<property name="javax.persistence.jdbc.user"     value="" />
<property name="javax.persistence.jdbc.password" value="" />
私のJava SEテストの全てに問題なく休止状態でアプリ。 Webアプリケーション(Tomcatの)でそれを使用する場合しかし、例外がスローされます。

java.lang.UnsupportedOperationException: The user must supply a JDBC connection
    org.hibernate.connection.UserSuppliedConnectionProvider.getConnection(UserSuppliedConnectionProvider.java:54)
    org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
    org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
    org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
    org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1596)
    org.hibernate.loader.Loader.doQuery(Loader.java:717)
    org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
    org.hibernate.loader.Loader.loadEntity(Loader.java:1933)
    org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
    org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
    org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3270)
    org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
    org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
    org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
    org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
    org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
    org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1080)
    org.hibernate.impl.SessionImpl.get(SessionImpl.java:997)
    org.hibernate.impl.SessionImpl.get(SessionImpl.java:990)
    org.hibernate.ejb.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:182)
    com.kawoolutions.bbstats.servlet.BasketballStatsServlet.doGet(BasketballStatsServlet.java:405)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

:私はバックアップをつかんで、唯一私が作っ変更することは、私が以前に使用していることに気づいたように、

私は、ネット上で有益な何かを見つけることができませんでした

<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.url"          value="jdbc:mysql://localhost/whatever" />
<property name="hibernate.connection.username"     value="" />
<property name="hibernate.connection.password"     value="" />
休止状態への復帰後、

。*プロパティ例外が離れて行ってきました!

ここで何が悪いのでしょうか?なぜのjavax.persistenceを行います。*プロパティの作業をするJavaSE環境ではなく、私のWebアプリケーションでは?それは本当に奇妙だ...

役に立ちましたか?

解決

javax.persistence.*特性が休止状態で3.5以上であるJPA 2.0で導入されました。あなたはHibernateの以前のバージョンを使用している場合、彼らは仕事をしません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top