I need to know how to use the bag tag and what is the purpose of it?
3 Answers
For collection mapping
If your table does not have an index column, and you still wish to use List as the property type, you can map the property as a Hibernate < bag>. A bag does not retain its order when it is retrieved from the database, but it can be optionally sorted or ordered.
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/collections.html

- 30,365
- 9
- 60
- 95
From the API:
A bag is an unordered, unkeyed collection that can contain the same element multiple times. A bag permits duplicates, so it has no primary key. The Java collections API, curiously, has no Bag.

- 1,361
- 2
- 13
- 31
A short and simple answer:
You don't need to use the <index>
tag when mapping an unsorted List
and you also don't need an additional index column in database.
Unlike a List a Bag does not persist the order of its elements, but you can specify an order-by
parameter to retrieve its elements in a specific order.

- 4,487
- 7
- 29
- 33