hibernate
==========================================================================================
多对一单向关联
比如
package sec1
Teacher
{
int id;
String name;
}
xml
不添加映射关系
-----------------------------------------------------------------------------------------
Studnet
{
Teacher teacher;
int id;
...
}
xml
<money-to-one name="teacher" column="teacher_id" class="sec1.Teacher">
fetch="select" lazy="false" cascade="save-update"/>
单向多对一和单向一对一基本上相同 唯一的不同就是在<many-to-one>里添加一个属性 unique="true"
注意事务控制的安全性
==============================================================================================
====================================================================
一对多单向关联
Package sec2
Student{
int id;
...
}
student.hbm.xml
不加任何映射关系
------------------------------------------------------
Teacher{
int id ;
String teacherName;
Set students=new HashSet();
}
<setname="students" inverse="true" fetch="select" cascade="save-update" lazy="true">
<key column="teacher_id"/>
<one-to-monet class="sec2.Student">
=====================================================================
=======================================================================
映射一对多双向关联
Student
{
int id;
Teacher teacher;
String name;
......
}
student.hbm.xml
<many-to-one name="teacher" column="teacher_id" class="sec3.Teacher" lazy="true">
-----------------------------------------------------------------------------------
Teacher
{
int id;
Set students=new HashSet();
<set name="students" inverse="true" fetch="select" cascade="delete"
lazy="false">
<key column="teacher_id"/>
<one-to-many class="sec3.Student"/>
</set>
>
}
==========================================================================================
多对一单向关联
比如
package sec1
Teacher
{
int id;
String name;
}
xml
不添加映射关系
-----------------------------------------------------------------------------------------
Studnet
{
Teacher teacher;
int id;
...
}
xml
<money-to-one name="teacher" column="teacher_id" class="sec1.Teacher">
fetch="select" lazy="false" cascade="save-update"/>
单向多对一和单向一对一基本上相同 唯一的不同就是在<many-to-one>里添加一个属性 unique="true"
注意事务控制的安全性
==============================================================================================
====================================================================
一对多单向关联
Package sec2
Student{
int id;
...
}
student.hbm.xml
不加任何映射关系
------------------------------------------------------
Teacher{
int id ;
String teacherName;
Set students=new HashSet();
}
<setname="students" inverse="true" fetch="select" cascade="save-update" lazy="true">
<key column="teacher_id"/>
<one-to-monet class="sec2.Student">
=====================================================================
=======================================================================
映射一对多双向关联
Student
{
int id;
Teacher teacher;
String name;
......
}
student.hbm.xml
<many-to-one name="teacher" column="teacher_id" class="sec3.Teacher" lazy="true">
-----------------------------------------------------------------------------------
Teacher
{
int id;
Set students=new HashSet();
<set name="students" inverse="true" fetch="select" cascade="delete"
lazy="false">
<key column="teacher_id"/>
<one-to-many class="sec3.Student"/>
</set>
>
}