描述:连接的oracle数据库,不用连接池时可以获得comments中的注释内容,但使用连接池后无法获得。
解决:得到comments会影响效率,所以oracle默认将得到comments的参数设置成了false,这个参数是remarksReporting,有个getRemarksReporting()方法可以设置,但是连接池将connection包装了,没法调用getRemarksReporting()方法,必须将包装的连接通过NativeJdbcExtractor转化成普通的connection,这个NativeJdbcExtractor是spring根据不同的连接池提供不同的NativeJdbcExtractor,对应使用即可,然后普通的connection就可以使用((OracleConnection)conn).setRemarksReporting(true);进行设置了。
(问题:查了资料发现jdbc中有个remarks参数可以设置是否获得comments注释,所以有什么方法在使用连接池时通过更改底层jdbc的参数的方式,直接就设置这个remarks,这样就不用根据不同数据源进行connection强转了,只是有个这个思路,不知道怎么实现,有想法的请留言。。。。)