1.如果在"one"方中(如部门)写有Set属性,但是没有在映射文件中配置,那么,在获取指定部门下的所有员工时,不会报错,但是,Set内的元素个数为0。输出为"[]"。
2.在映射文件里配置<many-to-one />标签时(写在many方),同时也配置了本实体类的该外键属性。
要设置的属性与其他一般的<property ></property>相比 -- 都有name、column属性,
但用class属性代替了type属性,且class属性值是本实体类要引用的另一实体类的类名。
3.在映射文件里配置<set name="属性名"></set>标签时(写在one方),同时也配置了本实体类的该 Set类型的属性。
其下有两个子标签,<key column="many方的外键列名"/> (表示根据员工表中的部门ID得到相应的Set集合)和<one-to-many class="包名.many的一方类名" />
4.在映射文件里,标签的column属性或column标签的name属性,的值,都是指表的列名。
在映射文件里,除了column标签的name属性,大多数标签的name属性值都是指实体类的属性名。
5.类似于foreach的集合元素遍历
for(类型 临时变量名 : 集合或数组)
{
}
6.<set>标签的两个重要属性:
1) inverse属性,用于标识双向关联中的被动方一端。(默认为false)
非反向端用于把内存中的表示保存到数据库中。
例1:在一对多关系中,若其值为true,那么,当通过部门来删除一个员工时( <set>的cascade属性值为all),即department.getEmployees().remove(employee); 执行后员工表中该员工的departmentId 列的值将改为NULL。
若设置其值为false,那么执行后该员工信息将没有任何改变。
2) cascade属性,用于设置双方如何进行级联。可取值:
all:当任何一方的数据发生改变时,另一方也发生改变。
save-update:只在添加数据或修改数据时才对另一方产生影响。
delete:只在删除数据时才对另一方产生影响。
none:互不影响。
例1:若其值为all或delete,当删除某个部门时,员工表中所有属于该部门的员工将全部被删除。
反之若没有级联删除,员工表中所有属于该部门的员工的departmentId列(外键)的值将被修改为NULL。
7.VO --Value Object 指不包含逻辑代码的值对象(如实体类)
8.在one方定义inverse="true"不会影响级联操作。
分享到:
相关推荐
**初学Hibernate,Hibernate入门** Hibernate是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。在Java应用中,通过Hibernate,开发者可以将数据库操作抽象成对象模型,使得代码...
hibernate初学
【Struts+Spring+Hibernate 学习总结】 SSH(Struts、Spring、Hibernate)是Java Web开发中的一个经典企业级应用架构,它将MVC设计模式应用到Web应用的各个层次,实现了良好的分层和解耦。这篇学习总结旨在帮助读者...
这篇文档将对Hibernate的关键概念、配置、实体类、映射文件、会话和事务等方面进行详尽的介绍,以帮助J2EE初学者快速理解和掌握Hibernate。 1. **对象关系映射(ORM)**: ORM是Hibernate的核心,它通过映射文件将...
**Hibernate 概述** Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象...对于初学者来说,从基础开始逐步学习 Hibernate,不仅能够快速入门,还能为今后的深入学习打下坚实的基础。
但对于初学者来说,掌握这些基础知识点已经足够入门Hibernate,并能在实际项目中应用。通过不断实践和深入学习Hibernate的其他高级特性,开发者可以更加熟练地使用这一框架来实现高效、优雅的数据库操作。
关于hibernate的Session,向数据插入时的事务隔离级别,持久化对象的状态,对应关系的映射文件,表与表之间的多种映射关系,以及hibernate的二级缓存的笔记。
### Hibernate学习总结 #### 环境配置与搭建 本文主要介绍了如何在Eclipse3.2环境下使用HibernateSynchronizer-3.1.9、Oracle92和hibernate-3.2.4.sp1来搭建一...希望本篇总结对初学者了解和掌握Hibernate有所帮助。
总结,Hibernate作为Java世界中的主流ORM框架,为开发者提供了强大的数据访问能力。通过学习和实践“Hibernate初学者简单代码”,你将能够熟练掌握Hibernate的基础操作,为进一步深入学习和应用Hibernate打下坚实...
这个"特别适合初学者的Hibernate教程课件"显然旨在帮助新手快速掌握Hibernate的核心概念和使用方法。以下是对Hibernate的一些关键知识点的详细介绍: 1. **对象关系映射(ORM)**:ORM是将数据库中的表映射为Java对象...
这个“hibernate初学者jar包”显然是针对那些刚接触Java和Hibernate的开发者,帮助他们快速搭建开发环境。 在Java开发中,Hibernate简化了数据库操作,它通过映射Java类到数据库表,使得开发者可以使用面向对象的...
【标题】:“学习hibernate必看ppt--总结的很全面” 这个标题表明这是一个关于Hibernate框架的综合学习资料,特别适合初学者或者需要深入理解Hibernate的开发者。它可能包含了一系列PPT,旨在全面概述Hibernate的...
总结来说,"Serlvet+Hibernate 进销存系统"是一个集成了Servlet和Hibernate两大核心技术的实战项目,对初学者来说极具价值。通过实际操作,不仅可以深入理解这两项技术,还能提升对企业级应用开发的整体认识,为日后...
**hibernate初学项目** 本项目旨在帮助初学者了解并掌握Hibernate框架的基本用法。Hibernate是一个开源的对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互,通过将Java对象直接映射到数据库表,消除了...
总结来说,Hibernate-Extensions是Hibernate的一个强大补充,它扩展了ORM的功能边界,使开发者能够更高效、更灵活地处理数据库操作。无论你是初学者还是经验丰富的开发者,这个完整的安装包都值得你拥有,因为它将为...
此时我对初学者一些总结
综上所述,《Hibernate实战》是一本内容丰富、实用性强的专业书籍,无论对于初学者还是有经验的开发人员来说,都是学习Hibernate框架不可多得的宝贵资源。通过本书的学习,不仅可以快速掌握Hibernate的基本用法,还...
总结,Hibernate 学习之旅从理解其基本原理和配置开始,然后通过实践 CRUD 操作和查询语句,逐渐掌握其精髓。这个资源包提供的实例将是很好的学习材料,通过动手实践,加深对 Hibernate 工作机制的理解,为后续的 ...
这个入门教程的压缩包包含了关于Hibernate的基本概念、配置、实体映射、会话管理、查询语言(HQL)以及事务处理等多个方面的内容,旨在帮助初学者快速上手。 1. **Hibernate概述**: Hibernate是Java世界中流行的...
《Hibernate—Java对象持久化技术-Hibernate入门.ppt》适合初学者,涵盖了Hibernate的基本概念、配置和基本操作。而《Hibernate—Java对象持久化技术-Hibernate进阶.ppt》则深入讲解了高级特性和最佳实践,如缓存...