来自连接表的Hibernate 键

我想知道是否可以以这种方式定义Set in Hibernate映射,该元素将指定原始( FOO )表中的列,而不是连接的( BAR )。 假设我们有一些FooContainer.hbm.xml ,它包含Set of Foo对象:

     

这里FOO有FK到BARFOO.BAR_ID ),所以加入是通过Foo.hbm.xml中的元素完成的:

  

每当获取xyz.Foo时,都会导致加入FOO-BAR选择。

问题是生成的Set fetching select的条件是这样的:

 ... WHERE _FOO_0.COLUMN_FROM_BAR = ? 

当需要时,一个是:

 ... WHERE _BAR_0.COLUMN_FROM_BAR = ? 

在Java Persistence with Hibernate中找到答案(第296页)。 Trick正在从目标类( Foo )设置不同的设置表( BAR ):