gpt4 book ai didi

java - Hibernate 来自连接表的键

转载 作者:行者123 更新时间:2023-12-01 16:01:35 25 4
gpt4 key购买 nike

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

<set ...>
<key column="COLUMN_FROM_BAR" />
<one-to-many class="xyz.Foo" />
</set>

此处 FOO 具有到 BAR (FOO.BAR_ID) 的 FK,因此连接是通过 Foo.hbm.xml 中的元素完成的:

<many-to-one class="xyz.Bar" fetch="join" column="BAR_ID" foreign-key="barId" ... />

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

问题是生成的 Set 获取选择的条件类似于:

... WHERE _FOO_0.COLUMN_FROM_BAR = ?

如果需要的话,可以是:

... WHERE _BAR_0.COLUMN_FROM_BAR = ?

最佳答案

Java Persistence with Hibernate 中找到答案(第 296 页)。技巧是设置与目标类(Foo)不同的集合表(BAR):

  <set table="BAR" ...>
<key column="COLUMN_FROM_BAR" />
<many-to-many
class="xyz.Foo"
column="BAR_ID"
unique="true"
/>
</set>

关于java - Hibernate <set> 来自连接表的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3733902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com