天天看點

java 自身關聯_【一對多自身關聯雙向映射】

關于一對多自身關聯雙向映射我們直接看例子:

\SPAN style="COLOR: #cc0000; FONT-SIZE: 14px">一個一對多雙向自身關聯映射案例

一個一對多雙向自身關聯映射案例[java] view plaincopyprint?<?xml version="1.0"?>

/p>

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

/p>

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

[java]

package com.bjpowernode.hibernate;

import java.io.Serializable;

import java.util.HashSet;

import java.util.Set;

public class Category implements Serializable{

private Integer id;

private String name;

private Category parentCategory;

private Set childCategory = new HashSet();

public Integer getId() {

return id;

}

private void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Category getParentCategory() {

return parentCategory;

}

public void setParentCategory(Category parentCategory) {

this.parentCategory = parentCategory;

}

public Set getChildCategory() {

return childCategory;

}

public void setChildCategory(Set childCategory) {

this.childCategory = childCategory;

}

}

package com.bjpowernode.hibernate;

import java.io.Serializable;

import java.util.HashSet;

import java.util.Set;

public class Category implements Serializable{

private Integer id;

private String name;

private Category parentCategory;

private Set childCategory = new HashSet();

public Integer getId() {

return id;

}

private void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Category getParentCategory() {

return parentCategory;

}

public void setParentCategory(Category parentCategory) {

this.parentCategory = parentCategory;

}

public Set getChildCategory() {

return childCategory;

}

public void setChildCategory(Set childCategory) {

this.childCategory = childCategory;

}

}

工具類

[java]

package com.bjpowernode.hibernate;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;

public class HibernateUtils {

private static SessionFactory factory;

static {

try {

//讀取hibernate.cfg.xml檔案

Configuration cfg = new Configuration()。configure();

//建立SessionFactory

factory = cfg.buildSessionFactory();

}catch(Exception e) {

e.printStackTrace();

}

}

public static Session getSession() {

return factory.openSession();

}

public static void closeSession(Session session) {

if (session != null) {

if (session.isOpen()) {

session.close();

}

}

}

public static SessionFactory getSessionFactory() {

return factory;

}

}