java.lang.NullPointerException 因为我没有访问该表的权限

标签 java hibernate postgresql nullpointerexception hql

我有一个 Java EE 项目。当我从数据库访问表时,它返回错误,这是 HQL 查询:

select b from Blacklist b inner join fetch b.users u where b.type ilike :type order by b.date desc

这是错误消息:

18:18:10,694 ERROR [STDERR] java.lang.NullPointerException
18:18:10,694 ERROR [STDERR]     at org.hibernate.engine.query.QueryPlanCache$HQLQueryPlanKey.<init>(QueryPlanCache.java:193)
18:18:10,694 ERROR [STDERR]     at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:87)
18:18:10,694 ERROR [STDERR]     at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
18:18:10,694 ERROR [STDERR]     at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
18:18:10,694 ERROR [STDERR]     at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1650)
18:18:10,694 ERROR [STDERR]     at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:93)
18:18:10,694 ERROR [STDERR]     at org.jboss.jpa.tx.TransactionScopedEntityManager.createQuery(TransactionScopedEntityManager.java:139)
18:18:10,694 ERROR [STDERR]     at doku.edp.trasactions.Eds2UtilityBean.getFieldDataFromBlacklist(Eds2UtilityBean.java:325)
18:18:10,694 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:18:10,695 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
18:18:10,695 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
18:18:10,695 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:597)
18:18:10,695 ERROR [STDERR]     at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)
18:18:10,695 ERROR [STDERR]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
18:18:10,695 ERROR [STDERR]     at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:69)
18:18:10,695 ERROR [STDERR]     at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:73)
18:18:10,695 ERROR [STDERR]     at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:59)
18:18:10,695 ERROR [STDERR]     at sun.reflect.GeneratedMethodAccessor522.invoke(Unknown Source)
18:18:10,695 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
18:18:10,695 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:597)
18:18:10,695 ERROR [STDERR]     at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)
18:18:10,695 ERROR [STDERR]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
18:18:10,695 ERROR [STDERR]     at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72)
18:18:10,695 ERROR [STDERR]     at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_405857447.invoke(InvocationContextInterceptor_z_fillMethod_405857447.java)
18:18:10,695 ERROR [STDERR]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
18:18:10,695 ERROR [STDERR]     at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88)
18:18:10,695 ERROR [STDERR]     at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_405857447.invoke(InvocationContextInterceptor_z_setup_405857447.java)
18:18:10,695 ERROR [STDERR]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
18:18:10,695 ERROR [STDERR]     at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62)

我看到我的 Postgres 数据库,当我对表执行 SELECT 查询时,我收到警告:

permision denied for relation whitelist.

Postgres 上的警告是否是此错误的原因?

最佳答案

仅假设您没有发布任何Java代码,但看起来像您的NullPointer,它可能是一个不包含任何结果的ResultSet,因为您没有正确的权限来读取/写入关系“白名单” '。我会检查您用于登录数据库的用户名与用于 jdbc 连接的用户名。

如果您发布 Java 代码,我们可以查看 NullPointer 是否是由于您随后尝试操作的空结果集或其他原因造成的。

我回答的第一个问题很抱歉,如果它很罗嗦。

关于java.lang.NullPointerException 因为我没有访问该表的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9094894/

相关文章:

java - 如何从 JOOQ 3.11 中的 JSONB 转换

java - 是否可以将方法放入数组中进行随机化?

java - 我在使用 com.jgoodies.forms.factories.FormFactory 时遇到问题

hibernate - 当发生未处理的异常时,Hibernate 是否会自动回滚编程事务?

java - 使用日志工具记录 HQL 返回值时遇到问题

java - 如何使用JSP在PSQL中将表的输出显示为XML函数

postgresql - 如何使用unix套接字配置postgresql/pgbouncer?

java - 关于Java语法的一些疑惑

MySQL 和 hibernate : performance of left outer join vs multiple selects

php - 使用 PHP PDO 从 PostgreSQL 表导出 .csv 文件(带标题),缺少第一个数据行