2

我下载了 Hibernate 4.1.2 并使用 Oracle Database 10g 第 2 版。我使用的 JDBC 驱动程序是ojdbc14.jar.

我将 HibernateUtil 类设置为:

public class HibernateUtil {
    private static final SessionFactory sessionFactory = buildSessionFactory();

    private static SessionFactory buildSessionFactory() {
        // Create the SessionFactory from hibernate.cfg.xml
        try{
            Configuration configuration = new Configuration();
            configuration.configure();
            ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();        
            return configuration.buildSessionFactory(serviceRegistry);
        }catch(HibernateException ex){
            ex.printStackTrace();
            throw ex;
        }
    }

    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}

hibernate.properties我有:

hibernate.dialect org.hibernate.dialect.OracleDialect
hibernate.connection.driver_class oracle.jdbc.driver.OracleDriver
hibernate.connection.username HR
hibernate.connection.password HR
hibernate.connection.url jdbc:oracle:thin:@localhost:1521/xe

但是 Hibernate 不想加载驱动程序。它抛出一个异常,说“没有找到合适的驱动程序”。

我试图加载驱动程序,Class.forName("oracle.jdbc.driver.OracleDriver");它工作正常。

4

3 回答 3

4

问题在于使用了错误的 JDBC Oracle 驱动程序。当我尝试ojdbc6.jar一切正常时。

于 2012-07-27T12:39:51.567 回答
1

有几件事:

  • 尝试通过在键和值之间放置=来使属性文件有效
  • 检查值后是否没有任何尾随空格
  • 使用oracle.jdbc.OracleDriver而不是oracle.jdbc.driver.OracleDriver. 请参阅Oracle jdbc 驱动程序类之间的区别?以供进一步参考。
于 2012-04-23T14:53:26.567 回答
1

您的连接 URL 配置错误,应该是:

hibernate.connection.url jdbc:oracle:thin:@localhost:1521:xe

Oracle URL 的更多信息可以参考这里

正如其他答案指出的那样:

使用oracle.jdbc.OracleDriver代替oracle.jdbc.driver.OracleDriver

于 2012-04-23T15:07:40.880 回答