公司跑項目時,遇到過非常詭異的報錯,信息如下:
org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped [select count(*) from User u where u.userName=? and u.userPassword=? ]
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped
出現這中錯誤情況有兩種:
1,配置文件沒有加載到hibernate的實體列表里面
2,映射文件的字段與數據庫字段不一致,或者名稱不一致導致
就只有這兩種情況
最后我發現還是實體類的配置沒配好,是這么解決的:
Entity實體類抬頭設置了@Entity(name="xxx") 想要改表的名字不是設置Entity注解的name屬性,而是設置Table注解的name屬性,更改效果如下:要這么寫 @Entity @Table(name="xxx"); 這樣就好了。