集合映射中的映射 Bag(使用 xml 文件)

2024 年 8 月 29 日 | 阅读 3 分钟

如果我们的持久化类具有 List 对象,我们可以通过映射文件中的 list 或 bag 元素来映射 List。 bag 就像 List,但它不需要 index 元素。

在这里,我们使用论坛的场景,一个问题有多个答案。

Mapping Bag in hibernate

让我们看看如何在映射文件中实现 bag


集合映射中映射 bag 的示例

在这个例子中,我们将看到通过 bag 进行集合映射的完整示例。 如果它存储值而不是实体引用,这就是 bag 的示例,这就是我们使用 element 而不是 one-to-many 的原因。 如果您看过映射列表的示例,那么在所有情况下都是相同的,只是映射文件不同,我们在其中使用 bag 而不是 list。

1) 创建持久类

这个持久化类定义了类的属性,包括 List。


2) 为持久类创建映射文件

在这里,我们创建了 question.hbm.xml 文件来定义列表。


3) 创建配置文件

此文件包含有关数据库和映射文件的信息。


4) 创建类来存储数据

在这个类中,我们存储 question 类的数据。

输出

Hibernate Mapping Bag Example 1 Hibernate Mapping Bag Example 2

如何获取数据

在这里,我们使用 HQL 来获取 Question 类的所有记录,包括答案。 在这种情况下,它从两个功能相关的表中获取数据。

输出

Hibernate Mapping Bag Example 3

下载

下一个主题映射 Set