2014-08-29 53 views
0

我从Grails的2.2.3升级我的项目2.4.2使用Hibernate 4(4.3.5.4)Grails的2.4.2 java.sql.Connection对象

没有在这个项目中使用甲骨文服务空间查询和过程来生成结果。

转换一个Oracle JGeometry对象到Oracle STRUCT需要数据库连接对象的工作: STRUCT OBJ = JGeometry(GEOM,连接)

我怎样才能从休眠4 java.sql.Connection对象?

回答

0

任何有兴趣,我已经通过调用一个服务中的下列解决了这个问题:

/** 
* createConnection creates a database connection using the java.sql.DriverManager 
* The parameters used to make the connection are taken from the current session 
* @return java.sql.Connection object 
*/ 
Connection createConnection(){ 

    oracle.jdbc.OracleConnection cnx = null 
    try { 
     sessionFactory?.currentSession?.doWork new Work(){ 
      void execute(Connection c){ 
       //convert the com.sun.proxy.$Proxy<nn> connection to Oracle 
       cnx = c.unwrap(oracle.jdbc.OracleConnection.class) 
      } 
     } 

     return cnx 

    } 
    catch (SQLException sqle){ 
     RIMS.ConnectionService.log.error "Error in createConnection: ${sqle.message}" 
    } 
    return null 
} 

我还补充说:

import org.hibernate.jdbc.Work 

def sessionFactory 

注入sessionFactory bean。

此代码包含在没有dataSource.groovy文件的插件中,并且在我的项目中运行良好。