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 概述** Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象...对于初学者来说,从基础开始逐步学习 Hibernate,不仅能够快速入门,还能为今后的深入学习打下坚实的基础。
但对于初学者来说,掌握这些基础知识点已经足够入门Hibernate,并能在实际项目中应用。通过不断实践和深入学习Hibernate的其他高级特性,开发者可以更加熟练地使用这一框架来实现高效、优雅的数据库操作。
通过这份笔记,初学者可以系统地学习SSH框架,快速掌握Java Web开发的基本技能。由于笔记中包含"完整代码",这意味着你可以直接参考和学习实际的项目代码,这对于理解和实践SSH框架非常有帮助。
这个“hibernate初学者jar包”显然是针对那些刚接触Java和Hibernate的开发者,帮助他们快速搭建开发环境。 在Java开发中,Hibernate简化了数据库操作,它通过映射Java类到数据库表,使得开发者可以使用面向对象的...
### 关于《Beginning Hibernate: For Hibernate 5》的知识点总结 #### Hibernate 5 概述 - **定义**: Hibernate 是一款流行的开源对象关系映射(ORM)框架,它简化了数据库与 Java 对象之间的交互过程。 - **版本**...
总结来说,"Serlvet+Hibernate 进销存系统"是一个集成了Servlet和Hibernate两大核心技术的实战项目,对初学者来说极具价值。通过实际操作,不仅可以深入理解这两项技术,还能提升对企业级应用开发的整体认识,为日后...
此时我对初学者一些总结
总结,Hibernate 学习之旅从理解其基本原理和配置开始,然后通过实践 CRUD 操作和查询语句,逐渐掌握其精髓。这个资源包提供的实例将是很好的学习材料,通过动手实践,加深对 Hibernate 工作机制的理解,为后续的 ...
Struts和Hibernate是Java...通过学习和实践这个初学者代码,你可以了解到如何在实际项目中集成Struts和Hibernate,理解它们如何协同工作,以及如何处理Web请求和数据库操作。这将对提升你的Java Web开发技能大有裨益。
《Hibernate—Java对象持久化技术-Hibernate入门.ppt》适合初学者,涵盖了Hibernate的基本概念、配置和基本操作。而《Hibernate—Java对象持久化技术-Hibernate进阶.ppt》则深入讲解了高级特性和最佳实践,如缓存...
本教程将带领初学者深入理解Hibernate的第一个项目,帮助你快速入门并掌握其核心概念。 1. Hibernate概述: Hibernate是一个开源的Java库,它提供了一种在Java应用中持久化数据的方式,使得开发者无需编写大量的...
这个压缩包提供了一个简单的入门项目,帮助初学者理解如何使用Hibernate框架。通过这个例子,我们可以深入学习Hibernate的核心功能和配置。 【描述】中提到的关键知识点包括: 1. **Hibernate框架**:Hibernate是...
标题:hibernate总结 描述:此文档是个人在使用Hibernate框架进行数据持久化操作时的经验积累和技巧分享。文档全面覆盖了Hibernate的各种配置方法、数据映射技术、集合类映射、对象关系映射(ORM)基础以及与J2EE...
【标题】"spring+struts2+hibernate完整项目初学者进阶练习"是一个针对Java初学者设计的进阶项目,旨在帮助他们熟练掌握三大主流Java Web开发框架——Spring、Struts2和Hibernate的集成应用。这个项目是基于MySQL...
4. **示例**:可能包含一些简单的示例项目,用于演示如何配置和使用Hibernate,对于初学者来说是非常实用的学习资源。 5. **构建脚本**:如pom.xml文件(如果使用Maven),或者build.gradle文件(如果使用Gradle),...
这个例子特别适合初学者,旨在帮助他们快速理解和入门Hibernate框架。 **标签关键词:“hibernate”**:Hibernate是一个流行的Java ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库,避免了...
在Hibernate 5.2.9版本中,提供了许多增强的功能和优化,适合初学者进行学习和实践。这个压缩包包含的是Hibernate 5.2.9的库包以及源代码,对于理解其工作原理和自定义扩展非常有帮助。 1. **对象关系映射(ORM)**...
根据提供的标题“深入浅出 Hibernate.pdf”以及描述“深入浅出 ...无论是对于初学者还是有经验的开发者来说,掌握Hibernate都是非常有益的,因为它不仅可以提高开发效率,还能帮助构建更加健壮和可维护的应用程序。
同时,作者也邀请用户在遇到问题时到其个人空间留言咨询,显示出开发者愿意分享和解答疑惑的态度,有助于初学者解决在使用过程中可能遇到的问题。 【标签】"3 Hibernate 源代码" 提示我们,这个项目使用了Hibernate...