package com.bjsxt.hibernate;

import java.util.HashSet;

import java.util.Set;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.JoinColumn;

import javax.persistence.OneToMany;

import javax.persistence.Table;

@Entity

@Table(name="t_group")

public class Group {

    private int id;

    private String name;

    private Set<User> users = new HashSet<User>();

    @Id

    @GeneratedValue

    public int getId() {

        return id;

    }

    public void setId(int id) {

        this.id = id;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    @OneToMany(mappedBy="group")


    public Set<User> getUsers() {

        return users;

    }

    public void setUsers(Set<User> users) {

        this.users = users;

    }

}



package com.bjsxt.hibernate;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.ManyToOne;

import javax.persistence.Table;

@Entity

@Table(name="t_user")

public class User {

    private int id;

    private String name;

    private Group group;

    @ManyToOne

    public Group getGroup() {

        return group;

    }

    public void setGroup(Group group) {

        this.group = group;

    }

    @Id

    @GeneratedValue

    public int getId() {

        return id;

    }

    public void setId(int id) {

        this.id = id;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

}



Group.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="com.bjsxt.hibernate.Group" table="t_group">

        <id name="id">

            <generator class="native"></generator>

        </id>


        <property name="name"></property>

        <set name="users">

            <key column="groupId"></key>

            <one-to-many class="com.bjsxt.hibernate.User"/>

        </set>

    </class>


</hibernate-mapping>



User.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="com.bjsxt.hibernate.User" table="t_user">

        <id name="id">

            <generator class="native"></generator>

        </id>


        <property name="name"></property>

        <many-to-one name="group" column="groupId"></many-to-one>

    </class>


</hibernate-mapping>