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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值