Hibernate4.3.5final:Error calling Driver#connect
数据库:oracle12r
jar包:antlr-2.7.7.jar dom4j-1.6.1.jar hibernate-commons-annotations-4.0.4.Final.jar hibernate-core-4.3.5.Final.jar hibernate-jpa-2.1-api-1.0.0.Final.jar hsqldb.jar jandex-1.1.0.Final.jar javassist-3.18.1-GA.jar
jboss-logging-3.1.3.GA.jar jboss-logging-annotations-1.2.0.Beta1.jar jboss-transaction-api_1.2_spec-1.0.0.Final.jar ojdbc6_g.jar proxool-0.8.3.jar servlet-2_3-fcs-classfiles.zip slf4j-api-1.6.1.jar
按照官方给的文档写的,出现了这种异常。。求大神帮忙
‘
hibernater.cfg.xml:
<hibernate-configuration>
<session-factory>
<!-- 数据库连接设置 -->
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:hsql://localhost/qiye</property>
<property name="connection.username">c##qiye</property>
<property name="connection.password">123456</property>
<!-- 连接池(连接池容量上限数目) -->
<property name="connection.pool_siz">10</property>
<!-- 方言 -->
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="current_session_context_class">thread</property>
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
<property name="show_sql">true</property>
<!--
create: 先删表,再建表。
create-drop: 启动时建表,退出前删表。
update: 如果表结构不一致,就创建或更新。
validate: 启动时验证表结构,如果不致就抛异常。
-->
<property name="hbm2ddl.auto">update</property>
<!-- 映射配置文件 -->
<mapping resource="main/java/org/hibernate/tutorial/domain/Event.hbm.xml"></mapping>
<mapping resource="main/java/org/hibernate/tutorial/domain/Person.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>
java code:
public class EventManager
{
public static void main (String[]args)
{
/*
EventManager emg=new EventManager();
System.out.println(args.length);
if(args[0].equals("store"))
{
emg.createAndStoreEvent("my event",new Date());
}
else if(args[0].equals("list"))
{
List events=emg.listEvents();
System.out.println("List.size()="+events.size());
for(int i=0;i<events.size();i++)
{
Event theEvent=(Event) events.get(i);
System.out.println("Event"+theEvent.getTitle()+"Time"+theEvent.getDate());
}
}*/
new EventManager().createAndStoreEvent("my event",new Date());
HibernateUtil.getSessionFactory().close();
}
private List listEvents() {
Session session=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List result=session.createQuery("from Event").list();
session.getTransaction().commit();
return result;
}
private void createAndStoreEvent(String string, Date date)
{
Session session=HibernateUtil.getSessionFactory().getCurrentSession();
System.out.println(session);
session.beginTransaction();
Event theEvent=new Event();
theEvent.setDate(date);
theEvent.setTitle(string);
session.save(theEvent);
session.getTransaction().commit();
}
}
运行后出现的异常
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
Exception in thread "main" java.lang.ExceptionInInitializerError
at main.java.org.hibernate.tutorial.domain.EventManager.createAndStoreEvent(EventManager.java:45)
at main.java.org.hibernate.tutorial.domain.EventManager.main(EventManager.java:31)
Caused by: org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:132)
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:118)
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:140)
at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:58)
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:75)
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
at main.java.org.hibernate.tutorial.util.HibernateUtil.java.HibernateUtil.buildSessionFactory(HibernateUtil.java:31)
at main.java.org.hibernate.tutorial.util.HibernateUtil.java.HibernateUtil.<clinit>(HibernateUtil.java:10)
... 2 more
Caused by: java.sql.SQLException: socket creation error
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
at org.hsqldb.jdbcDriver.connect(Unknown Source)
at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:55)
... 16 more