org.postgresql.util.PGobject 无法转换为 org.postgresql.util.PGobject
org.postgresql.util.PGobject cannot be cast to org.postgresql.util.PGobject
我从下面得到上述错误(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();
谢谢
只有当您的类路径中有多个版本的 Postgresql JDBC 驱动程序时,才会真正发生这种情况。也许一个在您的 webapp 中,另一个在 servlet 容器本身中。确保只有一个这样的 jar 文件。
我从下面得到上述错误(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();
谢谢
只有当您的类路径中有多个版本的 Postgresql JDBC 驱动程序时,才会真正发生这种情况。也许一个在您的 webapp 中,另一个在 servlet 容器本身中。确保只有一个这样的 jar 文件。