Java 在Hibernate框架中打开会话时出错

Java 在Hibernate框架中打开会话时出错,java,hibernate,Java,Hibernate,我试图通过hibernate框架创建到Oracle db的连接,但出现错误无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.jdbc环境] 例外情况: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] org.hibernate.servic

我试图通过hibernate框架创建到Oracle db的连接,但出现错误无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.jdbc环境]

例外情况:

org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
    org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:275)
    org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237)
    org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
    org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152)
    org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286)
    org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243)
    org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
    org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:175)
    org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:118)
    org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83)
    org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:473)
    org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:84)
    org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:689)
    org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
    dao.testClassDao.<init>(testClassDao.java:22)
执行currentSessionFactory.openSession()时出错

当我使用hibernate.connection.properties中设置的url、登录名和密码,通过标准JDBC案例连接到Oracle DB时,它工作正常。所以问题不在这里


这里我做错了什么?

我认为您需要添加
currentConfiguration.setProperty(“hibernate.dialent”、“org.hibernate.dialent.oraclealent”)@user7399085。这没有帮助-同样的错误。我建议你看看这个。
package dao;

import models.testClass;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class testClassDao {

    private Session currentSession;
    private Configuration currentConfiguration;
    private SessionFactory currentSessionFactory;

    public testClassDao ()
    {
        currentConfiguration = new Configuration();
        currentConfiguration.setProperty("hibernate.connection.username", "user");
        currentConfiguration.setProperty("hibernate.connection.password", "password");
        currentConfiguration.setProperty("hibernate.connection.driver_class", "com.oracle.jdbc.OracleDriver");
        currentConfiguration.setProperty("hibernate.connection.url", "jdbc:oracle:thin:@//my DB url, which works okey, when I use JDBC straight");
        currentConfiguration.addAnnotatedClass(testClass.class);
        currentSessionFactory = currentConfiguration.buildSessionFactory();
    }

    public testClass findById(int id) {

        currentSession = currentSessionFactory.openSession();
        testClass testObject= currentSession.get(testClass.class, id);
        currentSession.close();
        return testObject;
    }
}