我收到org.hibernate.HibernateException: Errors in named queries: getPreferenceById
,这是我的查询
@NamedQueries({
@NamedQuery(name = "getPreferenceById",
query = "select p from Preference p where p.profile.id=:Id") })
这是我的偏好类
@Entity(name = "perference")
public class Preference {
@OneToOne
@JoinColumn(name = "id", nullable = false)
private Profile profile;
}
该查询用于获取给定profileId(id)的首选项,但它给出了错误。我在Profile类中有一个类似的命名查询,但它没有给出错误。
我在堆栈跟踪中找到了这个,
Error in named query: getPreferenceById
org.hibernate.hql.internal.ast.QuerySyntaxException: Preference is not mapped
[select p from Preference p where p.profile.id=:Id]
我已将javax @Entity
注释添加到首选项
此命名查询有什么问题?
答案 0 :(得分:0)
我终于通过将NamedQueries
更改为NativeNamedQueries
来了解这一点我不知道为什么会有效
答案 1 :(得分:0)
似乎存在拼写错误,将Preference
更改为preference
:
@NamedQueries({
@NamedQuery(name = "getPreferenceById",
query = "select p from preference p where p.profile.id=:Id") })
当您使用@Entity(name = "perference")
来映射课程时。