hibernate 多对一映射 many-to-one

来源:互联网 发布:433m模块stc单片机解码 编辑:程序博客网 时间:2024/05/16 12:48
<?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 package="cn.pgh.orm">
    <class name="Employee">
   
        <id name="id">
            <generator class="native"/>
        </id>
        <property name="name" length="10" not-null="true"/>
        
        <many-to-one name="dept" column="dept_id"></many-to-one>
      
    </class>

</hibernate-mapping>



<?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 package="cn.pgh.orm">
    <class name="Department">
   
        <id name="id">
            <generator class="native"/>
        </id>
        <property name="name" length="10" not-null="true"/>
       
    </class>
</hibernate-mapping>



package cn.pgh.action;


import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;


import cn.pgh.orm.Department;
import cn.pgh.orm.Employee;


public class ManyToOne {

public static void main(String args[])
{
add();

}

static Department add()
{
Department dept=new Department();
Employee em=new Employee();
Session s=null;
Transaction tx=null;
try
{
s=HibernateUtil.getSession();
tx=s.beginTransaction();

dept.setName("技术部");

em.setDept(dept);
em.setName("凌波丽");


s.save(dept);
s.save(em);
tx.commit();
}
catch(HibernateException e)
{
if(tx!=null)
{
tx.rollback();
}
throw e;
}
finally
{
if(s!=null)
{
s.close();
}
}

return dept;
}


}

原创粉丝点击