HIBERNATE一对多配置实例
1. 环境:假定班级和学生是一对多的关系,班级是一,学生是多,对应表格分别是:zlass ,student
2. 创建Zlass和Student对象
班级实体类:
//Zlass对象--------------------------------------------------------- public class Zlass{ private String class_id; private String class_name; private java.util.Set students; public void setId(String id){ this.class_id = id; } public void setClassName(String className){ this.class_name = className; } public void setStudents(java.util.Set students){ this.students = students; } public String getId(){ return class_id; } public String getClassName(){ return class_name; } public java.util.Set getStudents(){ return students; } }
学生对象实体类:
//学生对象 public class Student{ private String student_id; private String name; private Address address; private java.util.Set events; private java.util.Set lessons; private Zlass zlass; public Zlass getZlass(){ return zlass; } public String getStudentId(){ return student_id; } public String getName(){ return name; } public Address getAddress(){ return address; } public java.util.Set getEvents(){ return events; } public java.util.Set getLessons(){ return lessons; } public void setZlass(Zlass zlass){ this.zlass = zlass; } public void setStudentId(String studentId){ this.student_id = studentId; } public void setName(String name){ this.name = name; } public void setAddress(Address address){ this.address = address; } public void setEvents(java.util.Set events){ this.events =events; } public void setLessons(java.util.Set lessons){ this.lessons = lessons; } }
配置文件:
班级映射文件:
//----------Zlass.hbm.xml--------------- <hibernate-mapping package="com.softWork.school"> <class name="Zlass" table="class"> <id name="id" column="id" type="string" length="20"> <generator class="assigned"/> </id> <property name="className" column="class_name" type="string" length="200"/> <set name="students" inverse="false" cascade="all"> <key column="class_id"/> <one-to-many class="Student"/> </set> </class> </hibernate-mapping>
学生实体映射文件:
//-------------Student.hbm.xml--------------- <hibernate-mapping package="com.softWork.school"> <class name="Student" table="student"> <id name="studentId" column="student_id" type="string" length="20"> <generator class="assigned"/> </id> <property name="name" type="string" length="20"/> <component name="address" class="Address"> <property name="state" column="state" type="string"></property> <property name="city" column="city" type="string"></property> <property name="street" column="street" type="string"></property> </component> <set name="events" inverse="false" cascade="all"> <key column="student_id"></key> <one-to-many class="Event"></one-to-many> </set> <set name="lessons" table="student_lesson"> <key column="student_id"/> <many-to-many class="Lesson" column="lesson_id" /> </set> <many-to-one name="zlass" column="class_id" class="Zlass"/> </class> </hibernate-mapping>
以上使用的是班级一端维护关系,并级连操作
3. 使用级连操作数据
1) 新增班级
相关推荐
NULL 博文链接:https://lichaobao.iteye.com/blog/1977048
本文档主要介绍hibernate主要包的作用,还有如何使用HQL查询,事务管理的详解,以及一对一、多对多、一对多、多对一关系的配置实例。还有配置文件中的各个属性的作用说明。
一对多(one to many) /多对一( many to one) 7.5.2. 一对一(one to one) 7.5.3. 多对多(many to many) 7.6. 更复杂的关联映射 8. 组件(Component)映射 8.1. 依赖对象(Dependent objects) 8.2. 在...
案例目录: 01 01Hibernate_Handwork : 手工配置使用Hibernate,其中详细标了Hibernate进行持久化的一些过程,因为是Hibernate的入门实例,所以注释很详细,其中有... 一对一、多对一、一对多、多对多等几种情况。
部门人员一对多的CRUD操作 hibernate: 管理实体关系映射 spring:数据源配置与获得session IOC依赖注入 和 AOP 事务管理 jsf : backing bean的操作 jsf 标签应用 jsf 信息国际化以资源绑定 jsf 表单验证 jsf ...
7.4.1. 一对多(one to many) / 多对一(many to one) 7.4.2. 一对一(one to one) 7.5. 使用连接表的双向关联(Bidirectional associations with join tables) 7.5.1. 一对多(one to many) /多对一( many ...
7.5.1. 一对多(one to many) /多对一( many to one) 7.5.2. 一对一(one to one) 7.5.3. 多对多(many to many) 7.6. 更复杂的关联映射 8. 组件(Component)映射 8.1. 依赖对象(Dependent objects) ...
7.5.1. 一对多(one to many) /多对一( many to one) 7.5.2. 一对一(one to one) 7.5.3. 多对多(many to many) 7.6. 更复杂的关联映射 8. 组件(Component)映射 8.1. 依赖对象(Dependent objects) ...
重点包括一对一,一对多及多对多关系的配置代码实例。 myeclipse项目工程导入即可运行(需要自行导入hibernat4.1.4包依赖(myeclipse中自带此包))。每个实例均附说明及mysql的库表sql。另,如果要测试代码中的hbm2...
7.4.1. 一对多(one to many) / 多对一(many to one) 7.4.2. 一对一(one to one) 7.5. 使用连接表的双向关联(Bidirectional associations with join tables) 7.5.1. 一对多(one to many) /多对一( many ...
7.5.1. 一对多(one to many) /多对一( many to one) 7.5.2. 一对一(one to one) 7.5.3. 多对多(many to many) 8. 组件(Component)映射 8.1. 依赖对象(Dependent objects) 8.2. 在集合中出现的依赖对象 ...
7.5.1. 一对多(one to many) /多对一( many to one) 7.5.2. 一对一(one to one) 7.5.3. 多对多(many to many) 7.6. 更复杂的关联映射 8. 组件(Component)映射 8.1. 依赖对象(Dependent objects) 8.2. 在...
8.5.1. 一对多(one to many) /多对一( many to one) 8.5.2. 一对一(one to one) 8.5.3. 多对多(many to many) 9. 组件(Component)映射 9.1. 依赖对象(Dependent objects) 9.2. 在集合中出现的依赖...
在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。 Transaction接口 Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己...
一对多关联(One-To-Many Associations) 6.5. 延迟初始化(延迟加载)(Lazy Initialization) 6.6. 集合排序(Sorted Collections) 6.7. 使用<idbag><br>6.8. 双向关联(Bidirectional Associations)...
7.5.1. 一对多(one to many) /多对一( many to one) 7.5.2. 一对一(one to one) 7.5.3. 多对多(many to many) 7.6. 更复杂的关联映射 8. 组件(Component)映射 8.1. 依赖对象(Dependent objects) ...
hibernate代码,Hibernate介绍与实例,Hibernate介绍与实例,XML配置文件(一对多),通过Session与数据库交互,XML配置文件(多对多),数据库操作代码
这种策略支持双向的一对多关联,但不支持 IDENTIFY 生成器策略,因为ID必须在多个表间共享。一旦使用就不能使用AUTO和IDENTIFY生成器。 每个类层次结构一张表 @Entity @Inheritance(strategy=InheritanceType....
这次索性写个多对多关系好了.打算写个权限系统好了.我就使用权限5张表.用户表,权限表.角色表.用户角色表和角色菜单表.(麻雀虽小...五脏俱全了啊...)当然这个写起来就费劲一些了.... 为了能够更好的使用各方面的...
网上这种整合实例很少,就奉献出来大家一起学习吧,在整合过程中遇到一个很奇怪的问题,就是spring的事务我配置成@Transactional(readOnly = true)只读事务,但是还可以对数据库进行操作,大家如果知道原因的就一起...