亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Hql 錯誤:類未映射,無法解析符號

Hql 錯誤:類未映射,無法解析符號

慕哥6287543 2023-03-31 16:53:04
我正在學習 Hibernate,并且在使用 hql 時遇到了困難。我希望我的函數檢查數據庫中是否存在用戶名。private boolean userExists(Session session, String userName) {        String hql = "select 1 from entity.User u where u.userName = :userName";        Query query = session.createQuery(hql);        query.setParameter("userName", userName);        return query.uniqueResult() != null;    }上面的函數位于我的 UserControl 類中。這是我在 IntelliJ 中的項目布局:在我的 UserControl 類中,我已經導入了我的 User 類import entity.User,但我仍然不能User在 HQL 中使用裸類名而不是entity.User沒有得到以下錯誤。java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped [select 1 from User u where u.userName = :userName]我對類似問題的搜索讓我找到了這個答案和頁面上的其他人,這表明我的實體類的命名存在一些錯誤,盡管我基于答案的實驗沒有奏效。entity.User如果我像上面那樣屈服并使用,那么我會收到此錯誤:java.lang.IllegalArgumentException: Could not locate named parameter [userName], expecting one of []這是我的實體類:package entity;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name = "user_association", schema = "login_register_view")public class User {    private int id;    private String userName;    private String password;    private String color;    private Integer pocketCount;    private Double weight;    @Id    @Column(name= "id", nullable = false)    public int getId(){ return id; }    public void setId(int id){ this.id = id;}    @Column(name = "user_name")    public String getUserName(){ return userName; }    public void setUserName(String userName){ this.userName = userName; }    @Column(name = "password")    public String getPassword(){ return password; }    public void setPassword(String password){ this.password = password; }    @Column(name = "color")    public String getColor(){ return color; }    public void setColor(String color){ this.color = color; }    @Column(name = "pocket_count")    public Integer getPocketCount(){ return pocketCount; }    public void setPocketCount(Integer pocketCount){        this.pocketCount = pocketCount;    }}
查看完整描述

1 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

我發現發生這種情況的原因是因為我沒有在我的 hibernate.cfg.xml 中映射實體。在里面<session-factory> </session-factory>我需要寫:

<mapping class="entity.User"/>


查看完整回答
反對 回復 2023-03-31
  • 1 回答
  • 0 關注
  • 218 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號