Wednesday, 20 April 2016

How to map Arrays in Hibernate ?


Mapping of Array

Example
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mappingPUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
    <class name="Group" table="grouptable">
        <id name="id" unsaved-value="0">
             <generator class="increment"/>
        </id>
        <array name="stories" cascade="all">
             <key column="parent_id"/>
             <index column="idx"/>
             <one-to-many class="Story"/>
        </array>
        <property name="name" type= "string"/>
    </class>

    <class name="Story" table="story">
        <id name="id" unsaved-value="0">
             <generator class="increment"/>
        </id>
        <property name="info"/>
    </class>
</hibernate-mapping>


Save the array with POJO

Story[] stories = new Story[2];
stories[0] = new Story("hello");
stories[1] = new Story("bye");

Group group = new Group();
group.setName("Joe");
group.setStories(stories);

session.save(group);

No comments:

Post a Comment

Note: only a member of this blog may post a comment.