这样的问题,我也遇到过。不过是在webshpere里面。我就索性不用应用服务起的jndi了。用了他推荐的c3p0连接池。用了一段时间了还不错。
配置如下:
<hibernate-configuration>
<session-factory name="foo">
<!--
    <property name="connection.datasource">jdbc/OracleDs</property>
        <property name="dialect">org.hibernate.dialect.OracleDialect</property>
        <property name="show_sql">true</property>
        <property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
        <property name="hibernate.jdbc.batch_versioned_data">true</property>
        -->
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="dialect">org.hibernate.dialect.OracleDialect</property>
        <property name="show_sql">true</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@192.168.0.249:1521:mis</property>
        <property name="hibernate.connection.username">uu</property>
        <property name="hibernate.connection.password">vvvvvvv</property>
        
        <property name="hibernate.c3p0.min_size">1</property>
        <property name="hibernate.c3p0.max_size">20</property>
        <property name="hibernate.c3p0.timeout">1800</property>
        <property name="hibernate.c3p0.max_statements">100</property>
        <property name="hibernate.c3p0.breakAfterAcquireFailure">true</property> 
        
        <property name="hibernate.jdbc.batch_versioned_data">true</property>
        <property name="hibernate.jdbc.batch_size">50</property>
        <property name="hibernate.jdbc.fetch_size">25</property>

</session-factory>

</hibernate-configuration>