簡體   English   中英

IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: ClassName 未映射

[英]IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: ClassName is not mapped

我在 Spring MVC 中收到此錯誤:

請求處理失敗; 嵌套異常是 java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:SampleClass未映射 sampleClass。

下面是我的DaoClass function 我將SampleClass SampleClass

@Autowired
private SessionFactory sessionFactory;

@Transactional
public List<SampleClass> getData()
{
   Session session = sessionFactory.getCurrentSession();
   List <SampleClass> sampleClass = session.createQuery("from SampleClass",SampleClass.class).list();
            
   return sampleClass;
}

即使表名相同,列名也與 sampleClass 屬性相同。

在示例 class 中,我使用注釋進行映射:

@Data
@Entity
public class SampleClass {
    
    @Getter
    @Setter
    @Id
    private  int id;
    @Getter
    @Setter
    private String aname;
    
}

我經歷了許多解決方案,但沒有解決我的問題。 是否存在與依賴版本相關的問題? @Entity顯示的另一件事已棄用任何其他替代方案?

@Entity 顯示的另一件事已棄用任何其他替代方案?

看起來您使用org.hibernate.annotations.Entity而不是javax.persistence.Entity

因此,以這種方式更正您的映射:

import javax.persistence.Entity;

@Entity
public class SampleClass {

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM