求助:hibernate警告 Could not obtain connection metadata是什么问题?
我编写了一个Test类调用hibernate:
package test;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.HibernateException;
import org.hibernate.Transaction;
import org.hibernate.classic.Session;
public class Test {
public Test() {
}
public int insertAdmin(Admin c) throws HibernateException {
Transaction tx = null;
Session s = null;
try{
SessionFactory sf=new Configuration().buildSessionFactory();
s = sf.openSession();
tx = s.beginTransaction();
s.save(c);
tx.commit();
} catch (HibernateException he) {
if (tx != null) {
tx.rollback();
}
throw he;
} finally {
s.close();
}
return 1;
}
public void myTest(){
Admin c=new Admin();
c.setLoginName("test");
c.setPassword("test");
c.setTrueName("test");
System.out.println(insertAdmin(c));
}
public static void main(String[] args) {
Test test = new Test();
test.myTest();
}
}
被调用的Admin如下,对应数据库的Admin表:
package test;
public class Admin {
private String loginname;
private String password;
private String truename;
public String getLoginName() {
return loginname;
}
public String getPassword() {
return password;
}
public String getTrueName() {
return truename;
}
public void setLoginName(String string) {
loginname = string;
}
public void setPassword(String string) {
password = string;
}
public void setTrueName(String string) {
truename = string;
}
}
运行时报错如下:
test.Test
2005-12-1 13:29:18 org.hibernate.cfg.Environment <clinit>
信息: Hibernate 3.0
2005-12-1 13:29:18 org.hibernate.cfg.Environment <clinit>
信息: loaded properties from resource hibernate.properties: {hibernate.connection.password=****, hibernate.jdbc.batch_versioned_data=true, hibernate.query.substitutions=true 1, false 0, yes 'Y', no 'N', hibernate.use_identifer_rollback=true, hibernate.cache.region_prefix=hibernate.test, hibernate.show_sql=true, hibernate.proxool.pool_alias=pool1, hibernate.default_batch_fetch_size=8, hibernate.jdbc.use_streams_for_binary=true, hibernate.max_fetch_depth=3, hibernate.connection.pool_size=1, hibernate.connection.username=system, hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver, hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider, hibernate.use_sql_comments=true, hibernate.cglib.use_reflection_optimizer=true, hibernate.order_updates=true, hibernate.dialect=org.hibernate.dialect.Oracle9Dialect, hibernate.connection.url=jdbc:oracle:thin:@localhost:1521:icts}
2005-12-1 13:29:18 org.hibernate.cfg.Environment <clinit>
信息: using java.io streams to persist binary types
2005-12-1 13:29:18 org.hibernate.cfg.Environment <clinit>
信息: using CGLIB reflection optimizer
2005-12-1 13:29:18 org.hibernate.cfg.Environment <clinit>
信息: using JDK 1.4 java.sql.Timestamp handling
2005-12-1 13:29:19 org.hibernate.cfg.Configuration secondPassCompile
信息: processing extends queue
2005-12-1 13:29:19 org.hibernate.cfg.Configuration secondPassCompile
信息: processing collection mappings
2005-12-1 13:29:19 org.hibernate.cfg.Configuration secondPassCompile
信息: processing association property references
2005-12-1 13:29:19 org.hibernate.cfg.Configuration secondPassCompile
信息: processing foreign key constraints
2005-12-1 13:29:19 org.hibernate.dialect.Dialect <init>
信息: Using dialect: org.hibernate.dialect.Oracle9Dialect
2005-12-1 13:29:19 org.hibernate.cfg.SettingsFactory buildSettings
信息: Maximum outer join fetch depth: 3
2005-12-1 13:29:19 org.hibernate.cfg.SettingsFactory buildSettings
信息: Default batch fetch size: 8
2005-12-1 13:29:19 org.hibernate.cfg.SettingsFactory buildSettings
信息: Generate SQL with comments: enabled
2005-12-1 13:29:19 org.hibernate.cfg.SettingsFactory buildSettings
信息: Order SQL updates by primary key: enabled
2005-12-1 13:29:19 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
信息: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
2005-12-1 13:29:19 org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
信息: Using ASTQueryTranslatorFactory
2005-12-1 13:29:19 org.hibernate.cfg.SettingsFactory buildSettings
信息: Query language substitutions: {no='N', true=1, yes='Y', false=0}
2005-12-1 13:29:19 org.hibernate.connection.DriverManagerConnectionProvider configure
信息: Using Hibernate built-in connection pool (not for production use!)
2005-12-1 13:29:19 org.hibernate.connection.DriverManagerConnectionProvider configure
信息: Hibernate connection pool size: 1
2005-12-1 13:29:19 org.hibernate.connection.DriverManagerConnectionProvider configure
信息: autocommit mode: false
2005-12-1 13:29:19 org.hibernate.connection.DriverManagerConnectionProvider configure
信息: using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@localhost:1521:icts
2005-12-1 13:29:19 org.hibernate.connection.DriverManagerConnectionProvider configure
信息: connection properties: {user=system, password=****}
2005-12-1 13:29:19 org.hibernate.cfg.SettingsFactory buildSettings
警告: Could not obtain connection metadata
java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=150999297)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:361)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:442)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:321)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:118)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1505)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1053)
at test.Test.insertAdmin(Test.java:31)
at test.Test.myTest(Test.java:54)
at test.Test.main(Test.java:59)
2005-12-1 13:29:19 org.hibernate.cfg.SettingsFactory buildSettings
信息: JDBC batch size: 15
......
classes根目录下放置了hibernate.properties及hibernate.cfg.xml文件。
classes\test目录下放置了Admin.hbm.xml文件。
工程中引用了hibernate3.jar及oracel数据库驱动程序classes12.jar等。
不知是哪里有问题,会报Could not obtain connection metadata的错误呢?
肯请各位大虾指点一下呀!