Using an by R4R Team

In this hibernate topic we need to know that tha majority of the many to many association and collection of vlaues shown previously all map to tables with composite keys, even though it has been suggested that entities should have synthetic identifiers. When we have the pure association table does not seem to benefit much from many association and collections of values to a table with a surrogate key.

The <idbag> element lets you map a List (or Collection) with bag semantics. For example:

<idbag name="lovers" table="LOVERS">
    <collection-id column="ID" type="long">
        <generator class="sequence"/>
    <key column="PERSON1"/>
    <many-to-many column="PERSON2" class="Person" fetch="join"/>

An <idbag> has a synthetic id generator, just like an entity class. A different surrogate key is assigned to each collection row. Hibernate does not, however, provide any mechanism for discovering the surrogate key value of a particular row.

The update performance of an <idbag> supersedes a regular <bag>. Hibernate can locate individual rows efficiently and update or delete them individually, similar to a list, map or set.

In the current implementation, the native identifier generation strategy is not supported for <idbag> collection identifiers.

Leave a Comment:
R4R Team
R4Rin Top Tutorials are Core Java,Hibernate ,Spring,Sturts.The content on website is done by expert team not only with the help of books but along with the strong professional knowledge in all context like coding,designing, marketing,etc!