Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
hibernate查询语言_Hibernate_Hql - Fatal编程技术网

hibernate查询语言

hibernate查询语言,hibernate,hql,Hibernate,Hql,请在hql中转换sql SQL语句:从useraccout where email=“参数值”中选择用户名 更多说明: 运行代码时,我遇到以下错误: public List dispUser(String email){ Query query = em.createQuery("SELECT u.username FROM Useraccout u WHERE u.email=:email)"); query.setParameter(email, email); L

请在hql中转换sql

SQL语句:从useraccout where 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文件或注释定义此映射

-1有关错误主题,请在使用之前阅读Hibernate文档。一个好的起点是。提示:在使用Hibernate配置中的类之前,必须映射它们。“useraccout”,你确定你没有输入错误吗?