讲得好我加分!!!!!!!!!!!!!!!1--------------------------------------
package com.bjsxt.hibernate;public class Student {
private int id;
private String name;
private Classes classes; 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;
} public Classes getClasses() {
return classes;
} public void setClasses(Classes classes) {
this.classes = classes;
}
}
关联的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.Student" table="t_student">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<many-to-one name="classes" column="classesid"/>">//这里的属性都是什么意思?为什么用<many-to-one>????????????
</class>
</hibernate-mapping>
2------------------------------------
public class Classes {
private int id;
private String name;
private Set students;
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;
} public Set getStudents() {
return students;
} public void setStudents(Set students) {
this.students = students;
}
}
关联的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 package="com.bjsxt.hibernate">
<class name="Classes" table="t_classes">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="students" inverse="true" cascade="all">//这里的属性都是什么意思?为什么用Set,如果private List students,那用<list>吗???????????
<key column="classesid"/>
<one-to-many class="Student"/>
</set>
</class>
</hibernate-mapping>
package com.bjsxt.hibernate;public class Student {
private int id;
private String name;
private Classes classes; 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;
} public Classes getClasses() {
return classes;
} public void setClasses(Classes classes) {
this.classes = classes;
}
}
关联的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.Student" table="t_student">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<many-to-one name="classes" column="classesid"/>">//这里的属性都是什么意思?为什么用<many-to-one>????????????
</class>
</hibernate-mapping>
2------------------------------------
public class Classes {
private int id;
private String name;
private Set students;
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;
} public Set getStudents() {
return students;
} public void setStudents(Set students) {
this.students = students;
}
}
关联的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 package="com.bjsxt.hibernate">
<class name="Classes" table="t_classes">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="students" inverse="true" cascade="all">//这里的属性都是什么意思?为什么用Set,如果private List students,那用<list>吗???????????
<key column="classesid"/>
<one-to-many class="Student"/>
</set>
</class>
</hibernate-mapping>
解决方案 »
- 关于好的编程习惯的求助!!!
- 关于java.sql.SQLException的错误,刚开始不报错!不知道为什么就报错了,从起服务后又好了!请高手指点,小生谢过
- 帮忙!急。。。帮帮新人关于分页
- 一个关于JFreeChart的问题
- j2ee编译数据,JMS库程序出问题
- struts客户端验证,为什么生成的javascript都变成直接显示的文本了?而且生成的函数名不对阿。
- 关于spring的属性织入问题的讨论。
- Java基础问题(一):请用自己的理解详细解释一下反射机制,贴用例者多给分
- 求助:socket!
- JBUILDER中,生成了一个EJB,该怎么运行?
- 请问有人用过lucene的luke吗?这个工具要怎么用?
- @EJB(name="TestEarProject/TestEjbLogicBean/local")注入失败,急急急急急急急急急!
第二个问题,hibernate中做一对多的映射时,最常用的是Set,主要是因为Set是无序的,因为大多数时候,我们只要保证这种关联关系就可以了,不太注意多端的顺序关系。当然,如果需要保持按加入顺序进行排列的话,也可以使用List,此时需要指定一个index列,同时在配置文件中进行映射。
可以看看Hibernate的书籍,书上都有讲
这个是配置 多对一的关系 比如 班级 和 学生 这两个模型 一个班级 有 多个学生 扎个 就是 一对多大关系
一个学生 只属于一个 班级 就是 多对一的关系配置 name就是 类的属性 classid是 指明的 外键 通过把 学生类的classid 拿去和class的id比较 如果相等 就说明是 属于某个班级的
假设数据库中有两个表:班级表
-----------------
班级编号|班级名称
023 |高二(3)班
-----------------学生表
--------------------
学生编号| 姓名|班级编号
1 |小李 |023
2 |小王 |023
……
有很多个学生对应着编号为023的班级,所以是<many-to-one>啊。