Один ко многим. Предок - потомки

one-to-many-parent-children

Таблица "comments":

create table comments (
    id integer not null auto_increment,
    content longtext not null,
    parent_id integer,
    primary key (id)
);

one-to-many-parent-children-uml

Файл "Comment.java":

package de.inger;

import java.util.Set;

public class Comment {

    private Integer id; 
    private String content;
    private Comment parent;
    private Set<Comment> children;

    public Comment() {      
    }

    public Comment(String content) {
        setContent(content);
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContent() {
        return content;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setParent(Comment parent) {
        this.parent = parent;
    }

    public Comment getParent() {
        return parent;
    }

    public void setChildren(Set<Comment> children) {
        this.children = children;
    }

    public Set<Comment> getChildren() {
        return children;
    }   
}

Файл "mapping.hbm.xml":

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">   
<hibernate-mapping>
    <class name="de.inger.Comment" table="comments">
        <id name="id" type="integer" column="id">
            <generator class="native" />
        </id>
        <set name="children" cascade="all">
            <key column="parent_id" />
            <one-to-many class="de.inger.Comment" />
        </set>
        <property name="content" type="text" column="content" />
        <many-to-one name="parent" column="parent_id" cascade="all" />
    </class>
</hibernate-mapping>

No TrackBacks

TrackBack URL: http://igor-inger.de/mt/mt-tb.cgi/3598

Leave a comment

About this Archive

Find recent content on the main index or look in the archives to find all content.