org.postgresql.util.PGobject无法强制转换为org.postgresql.util.PGobject

时间:2015-04-23 09:40:10

标签: classcastexception

我从以下内容中收到上述错误(println()来电显示resultObj确实是PGobject):

public List<Search> findSearchesBySearchString(String searchString) throws ClassNotFoundException{
    List<Search> searchResults = new ArrayList<>();
    String queryString = "SELECT s FROM Search s WHERE '"+ searchString +"' = ANY(s.searchstrings)";
    Query query = em.createNativeQuery(queryString);
    List<Object> objectResultsList = query.getResultList();
    for(Object resultObj: objectResultsList){
        System.out.println("***********************************************************"+ resultObj.getClass());
        PGobject resultObject = (PGobject)resultObj; // ClassCastException thrown here
        Search search = new Search();

由于

1 个答案:

答案 0 :(得分:1)

只有在类路径上有多个版本的Postgresql JDBC驱动程序时才会发生这种情况。也许一个在你的webapp中,另一个在servlet容器中。确保只有一个这样的jar文件。