我从以下内容中收到上述错误(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();
由于
答案 0 :(得分:1)
只有在类路径上有多个版本的Postgresql JDBC驱动程序时才会发生这种情况。也许一个在你的webapp中,另一个在servlet容器中。确保只有一个这样的jar文件。