Hibernate中bag标签有啥用?

Posted

技术标签:

【中文标题】Hibernate中bag标签有啥用?【英文标题】:What is the use of bag tag in Hibernate?Hibernate中bag标签有什么用? 【发布时间】:2011-03-19 10:07:36 【问题描述】:

我需要知道如何使用包标签以及它的用途是什么?

【问题讨论】:

【参考方案1】:

用于集合映射

如果您的表没有索引列,并且您仍希望使用 List 作为属性类型,则可以将属性映射为 Hibernate 。一个包在从数据库中检索时不保留其顺序,但可以选择对它进行排序或排序。

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/collections.html

【讨论】:

【参考方案2】:

来自 API:

袋子是一个无序、无键的集合,可以多次包含相同的元素。包允许重复,因此它没有主键。奇怪的是,Java 集合 API 没有 Bag。

【讨论】:

【参考方案3】:

简短的回答:

映射未排序的List 时不需要使用<index> 标签,也不需要在数据库中添加额外的索引列。

与 List 不同,Bag 不保留其元素的顺序,但您可以指定 order-by 参数以按特定顺序检索其元素。

【讨论】:

以上是关于Hibernate中bag标签有啥用?的主要内容,如果未能解决你的问题,请参考以下文章

JPA / Hibernate中@GeneratedValue中的字段生成器有啥用?

@Transactional 与 JPA 和 Hibernate 有啥用?

javax.persistence,这个包有啥用

ServiceRegistry在创建SessionFactory中有啥用

org.hibernate.cfg.improvednamingstrategy是做啥用的

映射值类型集合-002映射Bag(<idbag><collection-id>)