0

Oracle DB で JPA を使用しようとすると、奇妙な java.lang.NoSuchFieldError: NONE ランタイム エラーが発生します。私はMavenビルドを使用しています。キーファイルは次のとおりです。一部のJARに問題があると推測しています。

pox.xml

    <dependency>
              <groupId>javax.persistence</groupId>
              <artifactId>persistence-api</artifactId>
              <version>1.0.2</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>3.5.6-Final</version>
    </dependency>

persistence.xml

   <persistence-unit name="ifp-test" transaction-type="RESOURCE_LOCAL">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <properties>
         <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
         <property name="javax.persistence.jdbc.user" value="something"/>
         <property name="javax.persistence.jdbc.password" value="something"/>
          <property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin://@something_here"/>
         <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
         <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
      </properties>
   </persistence-unit>
</persistence>

Java コード

    List arr_cust = entityManagerFactory.createEntityManager().createNativeQuery(sql_query).getResultList();

誰かが正しい方向を指してもらえますか?

4

1 に答える 1

1

私は解決策を見つけました。問題はpom.xmlにありました。これが正しいpom.xmlです。

    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.0-api</artifactId>
        <version>1.0.0.Final</version>
    </dependency>
    <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>3.5.6-Final</version>
</dependency>
于 2012-08-17T23:27:27.247 に答える