gpt4 book ai didi

java - "user lacks privilege"是什么意思?

转载 作者:行者123 更新时间:2023-11-29 01:59:33 27 4
gpt4 key购买 nike

我的 Web 应用程序有问题:在我的管理 bean 中:

 private boolean isUserInDB() {
List users = userFacade.findByLogin(registerLog);
if(users.isEmpty())
return false;
return true;
}

当这个方法开始时,我有这个异常(可能来自 userFacade):

javax.el.ELException: javax.ejb.EJBException:The bean encountered a non-application exception; 
nested exception is: <openjpa-2.2.0-r422266:1244990 fatal general error> org.apache.openjpa.persistence.PersistenceException:
user lacks privilege or object not found: USER {SELECT t0.id_user, t0.login, t0.password FROM USER t0 WHERE (t0.login = ?)} [code=-5501, state=42501]
FailedObject: SELECT u FROM User u WHERE u.login = :login [java.lang.String]

viewId=/pages/register.xhtml
location=/home/jakub/Projekty/Collv2/build/web/pages/register.xhtml
phaseId=INVOKE_APPLICATION(5)



Caused by:
org.apache.openjpa.lib.jdbc.ReportingSQLException - user lacks privilege or object not found: USER {SELECT t0.id_user, t0.login, t0.password FROM USER t0 WHERE (t0.login = ?)} [code=-5501, state=42501]
at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:247)


or


Caused by:
org.apache.openjpa.lib.jdbc.ReportingSQLException - type not found or user lacks
privilege: TEXT {stmnt 1932110061 CREATE TABLE COURSE (id_course SMALLINT NOT NULL,
code VARCHAR(255), description TEXT, name VARCHAR(255), realization INTEGER, version
SMALLINT, PRIMARY KEY (id_course)) ENGINE = innodb} [code=-5509, state=42509]



/pages/register.xhtml at line 26 and column 104 action="#{registerController.register}"

User.class 和 UserFacade 是在 Netbeans 中自动生成的(“来自数据库的实体类...”和“来自实体类的 session Bean...”:

你能帮我理解“用户缺乏权限”是什么意思吗?

编辑:

问题在这里:

public List<User> findByLogin(String login){
Query q = em.createNamedQuery("User.findByLogin").setParameter("login", login);
List list = q.getResultList();
return list;
}

创建查询时抛出异常

最佳答案

您用来执行该语句的用户没有足够的权限来创建表。

正如@duffymo 在评论中提到的,用户需要是 granted适当的特权。根据我的经验,将这些权限授予应用程序的(技术)用户并不是一个好主意。

使用未用作技术应用程序用户的数据库管理员创建数据库架构。

关于java - "user lacks privilege"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18829513/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com