Hibernate不想加载Oracle驱动程序

时间:2012-04-23 14:31:46

标签: java oracle hibernate

我下载了Hibernate 4.1.2并使用的是Oracle数据库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");加载驱动程序,它运行正常。

2 个答案:

答案 0 :(得分:1)

有几件事:

  • 尝试通过在键和值
  • 之间加上 = 来使属性文件有效
  • 检查值
  • 后面是否有任何尾随空格
  • 使用oracle.jdbc.OracleDriver代替oracle.jdbc.driver.OracleDriver。有关详细信息,请参阅Difference between Oracle jdbc driver classes?

答案 1 :(得分:1)

您的连接网址配置错误,应为:

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

有关Oracle网址的更多信息,请参阅here

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

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