我有以下結構:展開NewProxyConnection和從的getConnection NewProxyConnection
- 與Hibernate 4.0.1的層,使用作爲C3P0連接池。
我沒有配置數據源,我用數據源的動態配置喜歡它:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("persitenceUnit", createMap(ds));
「DS」是一個對象與我的數據庫屬性,如用戶名,密碼,網址, ...
我得到的EntityManager這樣:
EntityManager em = emf.createEntityManager();
我嘗試獲取連接這樣:
EntityManagerImpl entityManagerImpl = (EntityManagerImpl)em; SessionFactoryImpl sessionFactoryImpl = (SessionFactoryImpl)entityManagerImpl.getSession().getSessionFactory(); Connection con = sessionFactoryImpl.getConnectionProvider().getConnection();
但是,con是一個NewProxyConnection實例。我需要執行一個返回ORADATA和con.prepareCall(sqlToProcedure)
返回NewProxyCallableStatment沒有有getOraData,即一個過程,這個代碼不工作:
OracleCallableStatment ocs = (OracleCallableStatment)con.prepareCall('{call stp_test(?)}');
ocs.excute();
TestObjectodf to = ocs.getOraDATA(1, TestObject.getOraDataFactory());
的錯誤
OracleCallableStatment ocs = (OracleCallableStatment)con.prepareCall('{call stp_test(?)}');
發生了,我嘗試:
NewProxyConnection npCon = sessionFactoryImpl.getConnectionProvider().getConnection();
Connection con = npCon.unwrap(Connection.class);
但是不行。