我有两个表,foo
和bar
。在foo
中,我有barId
引用bar.id
。这是Foo
的映射类:
@Entity
@Table(name = "foo")
public class Foo
{
@Id
public long id;
@OneToOne
@JoinColumn(name = "barId", referencedColumnName = "id")
public Bar bar;
//snip...
}
这是Bar
@Entity
@Table(name = "bar")
public class Bar
{
@Id
public long id;
//snip...
}
我的问题是,如果我想要检索Foo
为5的所有barId
,我可以这样做吗?
String sql = "from Foo where barId = :barId";
或者我应该这样做:
String sql = "from Foo where bar = :bar";
(在这种情况下,将Bar
的实际实例设置为参数:bar
)
第一种方法是否有效,或者我是否需要使用第二种方法?
答案 0 :(得分:1)
你可以这样做:
String sql = "from Foo where bar.id = :barId";