降低休眠中收集依赖对象的限制

柴坦亚

依赖集合休眠文档说:

双向关联导航无法在另一侧参考购买。组件是值类型,并且不允许共享引用。单个购买可以在订单集中,但是不能同时被商品引用。

有人可以帮我理解这一点吗?

1)为什么冬眠会限制另一方的购买参考?

2)为什么不允许共享引用?

3)物料不能同时引用一次购买是什么意思?

有人可以用一些例子解释一下。

拉迪姆·科勒

为了解释这一点,我将从文档中的另一个示例开始:

代码段显示了字符串集合的映射:

<set name="aliases"
            table="person_aliases" 
            sort="natural">
    <key column="person"/>
    <element column="name" type="string"/>
</set>

在这种情况下,我们确实有一个集合aliases,以表示,并以List<string>映射<element>

我们可以清楚地看到,这里的每个元素(别名)都是string-值类型(与Reference类型相反)我们也没有想到,有可能是系统中的任何进一步的地方,引用这个元素......
因为它不是一个Refeence类型

现在,让我们转到:

我们看到的是一个例子,(非常)相似,但代替<element>,它使用的是<composite-element>

<set name="purchasedItems" table="purchase_items" lazy="true">
    <key column="order_id">
    <composite-element class="eg.Purchase">
        <property name="purchaseDate"/>
        <property name="price"/>
        <property name="quantity"/>
        <many-to-one name="item" class="eg.Item"/> <!-- class attribute is optional -->
    </composite-element>
</set>

虽然对于stringJava我们有相关的对象(字符串) -对于上述构造,我们确实需要自定义类型。那将是一个class Pruchase {}

但是,即使这是一个自定义类型(我们自己的类),在这种情况下,它仍表示为值类型(同样,与引用类型相反)

为什么?因为它没有任何ID,所以要引用任何密钥。它是从Domain建模的角度构造的。也许该文档中的引用可以提供更多帮助:

与值类型一样,组件也不支持共享引用。换句话说,两个人可以具有相同的名称,但是两个人对象将包含两个独立的名称对象,这些对象的值仅“相同”。

最后:

这是一个功能。我们可以使用<composite-element>的事实<element>并不意味着我们必须这样做。通过将其映射为,我们仍然可以将Purchase类转换为第一级公民<class>然后所有标准的东西将再次起作用-因为它将代表引用类型...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

降低休眠中收集依赖对象的限制

来自分类Dev

休眠:使用限制检索对象

来自分类Dev

休眠中的对象更新

来自分类Dev

返回休眠中的对象列表

来自分类Dev

从收集对象中获取价值

来自分类Dev

收集数组中的对象

来自分类Dev

如何在序列化期间限制休眠相关对象

来自分类Dev

跑道速率限制降低

来自分类Dev

在gradle中添加依赖项的任何限制

来自分类Dev

Idris中依赖类型输入的限制

来自分类Dev

在ManyToMany关系中更新对象休眠

来自分类Dev

如何忽略对象引用从休眠中重用?

来自分类Dev

如何从休眠查询中获取Map对象

来自分类Dev

如何在休眠中隐藏对象属性?

来自分类Dev

如何在JavaScript中收集对象数组

来自分类Dev

在Polymer中收集多态对象的模式?

来自分类Dev

Java中符合垃圾收集条件的对象

来自分类Dev

垃圾收集环境中对象的生存时间

来自分类Dev

垃圾收集函数中的对象数组

来自分类Dev

限制 Javascript 对象中的条目

来自分类Dev

瞬态对象中的依赖注入

来自分类Dev

避免对休眠的循环依赖

来自分类Dev

限制IMPORTXML收集的行数

来自分类Dev

降低Typescript / JS中嵌套对象数组的级别

来自分类Dev

休眠条件限制和/或组合

来自分类Dev

使用休眠限制删除查询

来自分类Dev

使用休眠将对象保存到数据库中

来自分类Dev

休眠何时从内存中删除分离的对象 NonUniqueObjectException

来自分类Dev

如何限制DictationGrammar对象中的单词?