hibernate查询语言

时间:2009-10-26 10:42:08

标签: hibernate hql

请转换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)

1 个答案:

答案 0 :(得分:1)

您似乎没有映射名为Useraccount的类。我的猜测是:

  • 您已映射名为Useraccount的类,并在查询中错误地输入了此类的名称
  • 您尚未映射任何类。这表明您不了解Hibernate的基础知识。简而言之,映射到数据库表的每个类都需要使用XML文件或注释来定义此映射。