首页 > 解决方案 > 休眠。QuerySyntaxException:用户未映射,即使它是

问题描述

我已经阅读了很多关于这个异常的帖子,但似乎没有任何效果。我正在查询实体名称而不是表名称。我的用户模型已映射,它位于我的 hibernate.cfg.xml 中。有人知道我要去哪里错了吗?

模型:

import javax.persistence.*;

@Entity
@Table(name="account")
public class User {
    @Id
    @Column(name="id", columnDefinition = "serial primary key")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id;

XML:

<mapping class="com.project1.models.User"/>

DAO 实现:

 Session session = null;
        User user = null;
        try{
            session = this.sessionFactory.openSession();
            String hql = "from User where username = :u";
            Query query = session.createQuery(hql);
            query.setString("u", username);

谢谢您的帮助!

标签: hibernatemapping

解决方案


通过将我的 hql 更改为:“from com.project1.models.User as u where u.username = :u”让它工作

不知道为什么它需要它,但无论如何,它有效!


推荐阅读