Hibernate 用于根据表的外键筛选表的NamedQuery
我有下面两张桌子Hibernate 用于根据表的外键筛选表的NamedQuery,hibernate,jpa,named-query,Hibernate,Jpa,Named Query,我有下面两张桌子 @Entity @Table(name = "userRequests") @NamedQueries({ @NamedQuery( name = "User.getByFK", query = "SELECT u FROM User u WHERE u.FK_ID =:FK_ID") }) public class UserR implements Comparable<User>, Serializ
@Entity
@Table(name = "userRequests")
@NamedQueries({
@NamedQuery(
name = "User.getByFK",
query = "SELECT u FROM User u WHERE u.FK_ID =:FK_ID")
})
public class UserR implements Comparable<User>, Serializable {
@Id
@JsonProperty
@GeneratedValue(strategy = GenerationType.IDENTITY)
long id;
@JsonProperty
@OneToOne(cascade= CascadeType.ALL)
@JoinColumn(name="FK_ID")
FK fk;
}
@实体
@表(name=“userRequests”)
@命名查询({
@命名查询(
name=“User.getByFK”,
query=“从用户u中选择u,其中u.FK\u ID=:FK\u ID”)
})
公共类UserR实现了可比较的、可序列化的{
@身份证
@JsonProperty
@GeneratedValue(策略=GenerationType.IDENTITY)
长id;
@JsonProperty
@OneToOne(级联=级联类型.ALL)
@JoinColumn(name=“FK_ID”)
FK-FK;
}
这给了我一个错误“无法解析属性:FK_ID”
我如何才能访问此字段
如果在用户对象中创建FK_ID文件时出现重复映射异常,则会出现该错误,因为UserR类中没有文件名FK_ID 您需要使用连接fk获取文件 试着像这样使用它
@NamedQueries({
@NamedQuery(
name = "User.getByFK",
query = "SELECT u FROM User u WHERE u.fk.FK_ID =:FK_ID")
})
您得到该错误是因为UserR类中没有文件名FK_ID 您需要使用连接fk获取文件 试着像这样使用它
@NamedQueries({
@NamedQuery(
name = "User.getByFK",
query = "SELECT u FROM User u WHERE u.fk.FK_ID =:FK_ID")
})
它给出该消息是因为没有名为“FK_ID”的字段/属性。有一个字段“FK”。“从用户u中选择u,其中u.FK=:FK”更有意义,或者像所有JPQL引用一样连接到FK的id,告诉您它如何给出该消息,因为没有名为“FK_id”的字段/属性。有一个字段“FK”。“从用户u中选择u,其中u.FK=:FK”更有意义,或者像所有JPQL引用告诉您的那样,连接到FK的id