hibernate单实体的级联查询

其实单实体的一对多和多对一和2个实体的用法是一样的,现在以user为例:

java代码:

package com.test.bean;

import java.util.Set;

public class User
{
 private Integer id;
 private String firstname;
 private String lastname;
 private Integer parentID;
 private int age;
 private Set childrens;
 private User user;

 public Set getChildrens() {
  return childrens;
 }

 public void setChildrens(Set childrens) {
  this.childrens = childrens;
 }

 public User getUser() {
  return user;
 }

 public void setUser(User user) {
  this.user = user;
 }

 public Integer getId()
 {
  return id;
 }

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

 public String getFirstname()
 {
  return firstname;
 }

 public void setFirstname(String firstname)
 {
  this.firstname = firstname;
 }

 public String getLastname()
 {
  return lastname;
 }

 public void setLastname(String lastname)
 {
  this.lastname = lastname;
 }

 public int getAge()
 {
  return age;
 }

 public void setAge(int age)
 {
  this.age = age;
 }

 public Integer getParentID() {
  return parentID;
 }

 public void setParentID(Integer parentID) {
  this.parentID = parentID;
 }

}


对应的hbm文件:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
 <class name="com.test.bean.User" table="users">
  <id name="id" type="java.lang.Integer" column="id">
   <generator class="increment"></generator>
  </id>

  <property name="firstname" type="string" column="firstname"
   length="50">
  </property>
  <property name="lastname" type="string" column="lastname"
   length="50">
  </property>
  <property name="age" type="java.lang.Integer" column="age"></property> 

  <set name="childrens" inverse="true"
   lazy="false" where=" age=4">
   <key>
    <column name="parentID" />
   </key>
   <one-to-many class="com.test.bean.User" />
  </set>
   <many-to-one name="user" column="parentID" class="com.test.bean.User"></many-to-one> 
  
 </class>
</hibernate-mapping>

猜你喜欢

转载自helloworlda.iteye.com/blog/1104665