繁体   English   中英

与JNDI的Hibernate数据源连接

[英]Hibernate datasource connection with JNDI

我可以使用JDBC获得连接

OracleDataSource ds  = (OracleDataSource) Class.forName("oracle.jdbc.pool.OracleConnectionPoolDataSource").newInstance();
//...
Connection connection = ds.getConnection("USER", "PASSWORD");

但是我无法使用hibernate.connection.datasource和jni为Hibernate做到这一点:我尝试了不同的变体,但是它不起作用。

    String var1 = "oracle.jdbc.pool.OracleConnectionPoolDataSource";
    String var2 = "java:/oracle.jdbc.pool.OracleConnectionPoolDataSource";
    String var3 = "java:/oracle/jdbc/pool/OracleConnectionPoolDataSource";
    String var4 = "java:/OracleConnectionPoolDataSource";
    configuration.setProperty("hibernate.connection.datasource",var1);

尝试构建SessionFactory时,所有变体都会引发异常:

 private static SessionFactory createSessionFactory(Configuration configuration) {
    StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder();
    builder.applySettings(configuration.getProperties());
    ServiceRegistry serviceRegistry = builder.build();
    return configuration.buildSessionFactory(serviceRegistry);
}

这样的异常:

  Exception in thread "main" org.hibernate.engine.jndi.JndiException: Error parsing JNDI name [oracle.jdbc.pool.OracleConnectionPoolDataSource]

行家依赖它:

<dependency>
        <groupId>local.ora9iDriver</groupId>
        <artifactId>ora9iDriver</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>C:/Users/micah/.m2/repository/local/ora9iDriver/oraDriver/1.0/ora9i.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc14</artifactId>
        <version>9.0.2.0.0</version>
    </dependency>

您可以使用Hibernate博客查看UCP并获得一些建议吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM