J'ai un objet ResultSet que je dois transformer en un OracleResultSet pour que je puisse appeler la méthode getOPAQUE (String). J'utilise c3p0 comme ma piscine de connexion. Le problème est que c3p0 encapsule ResultSets dans les objets NewProxyResultSet.c3p0 ResultSet.unwrap lève une AbstractMethodError
Cela ne devrait pas être un problème parce que je devrais être en mesure d'appeler Déballer sur le ResultSet comme ceci:
rs.unwrap(OracleResultSet.class)
Cependant, cela ne fonctionne pas. Il jette en fait un AbstractMethodError:
java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProxyResultSet.unwrap(Ljava/lang/Class;)Ljava/lang/Object;
Il comprend une trace de la pile, mais ce n'est pas utile, car la première ligne de la trace de la pile juste des points à la ligne exacte à laquelle j'appelle la méthode unwrap. Cela semble indiquer que NewProxyResultSet lui-même n'a pas déplié implémenté.
Quoi de neuf? Comment puis-je prendre un NewProxyResultSet et en obtenir un OracleResultSet?
BTW, j'ai eu des problèmes avec c3p0 aussi. Il n'a pas fait les transactions correctement. Voir http://stackoverflow.com/questions/1977366/spring-transactional-cpool-which-one-do-i-use/2002505#2002505 pour des instructions complètes sur la façon dont je l'ai fait. – HappyEngineer