NamedQuery用于根据外键过滤表

时间:2016-11-15 19:28:27

标签: 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>, Serializable {

    @Id
    @JsonProperty
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    long id;

    @JsonProperty
    @OneToOne(cascade= CascadeType.ALL)
    @JoinColumn(name="FK_ID")
    FK fk;
}

这给了我一个错误&#34;无法解析属性:FK_ID&#34;

如何使此字段可访问?

在User对象中创建FK_ID字段会给出重复的映射异常

1 个答案:

答案 0 :(得分:1)

您收到该错误,因为UseR类中没有归档名称FK_ID 你需要使用连接fk

来获取

尝试像这样使用它

 @NamedQueries({
    @NamedQuery(
            name = "User.getByFK",
            query = "SELECT  u FROM User u WHERE u.fk.FK_ID =:FK_ID")
})