我下载了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");
加载驱动程序,它运行正常。
答案 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