题
请转换hql中的sql
SQL语句 :s从 useraccout 中选择用户名,其中 email =“参数值”
更多说明:
运行代码时我收到此错误:
public List dispUser(String email){
Query query = em.createQuery("SELECT u.username FROM Useraccout u WHERE u.email=:email)");
query.setParameter(email, email);
List search = query.getResultList();
return search;
}
运行代码时我收到以下错误
java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException:
Useraccout is not mapped [SELECT u.username FROM Useraccout u WHERE u.email=:email1)]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:624)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
解决方案
看来您还没有映射名为 Useraccount
. 。我的猜测是:
- 您已经映射了一个名为
Useraccount
并在查询中错误地输入了此类的名称 - 您还没有映射任何类。这表明你不了解Hibernate的基础知识。简而言之,每个映射到数据库表的类都需要使用 XML 文件或注释来定义此映射。
不隶属于 StackOverflow