这是一篇迟到的博客!!本来是可以再三个星期前写的。但由于学校临时通知要去长沙实习三个星期。推迟了三个星期,所以现在把他补上!
上一篇波博客我部署的第一个hibernate工程,现在就这个工程里面的细节来分析下。
一、POJO类
POJO类即持久化对象。他是完成hibernate持久化操作。说本质点就是简单的java类。但是并不是所有的java类都可以是POJO的。对于这个java类它是有如下几个限制:
1、它必须存在默认的构造方法
如果存在带参数的构造方法,那么hibernate就不能管理这个pojo了。
2、有无意义的标示符id
这个是可选的。这个id和表里面的主键是相对应的。一般来说hibernate是建议有这个属性id的。因为这样hibernate操作就会更加方便和高效率。
3、这个类应该是非final的
如果某个类是final的话,这个类就不能被继承了。那么这样就可能对懒加载有些影响。
4、为每个属性提供setter和getter方法
Hibernate默认采用属性方式来访问持久化类的属性。
二、映射文件
对于以下映射文件:
这里只简单的介绍下:
首先来看class。对于<class.../>元素。每个<class.../>元素都是对应一个持久化类的映射。它代表了一个类。在<hibernate-mapping...>元素中可以包含多个<class../>元素,也就是说一个映射文件可以定义多个持久化类。但是建议一般不要这么做。最好的方法是一个映射文件对应一个持久化类。
name属性:用来指定该持久化映射的持久化类的类名。我这里采用的是全限局的类名。如果不使用全限局的类名,就必须在<hibernate-mapping.../>元素里指定package属性。name属性的作用是hibernate可以通过这个属性或者package属性来唯一确定相应的持久化对象。
table属性:这个属性对应着数据库里的表。通过这个属性,hibernate就可以确定数据库里的那个表和那个持久化对象相关联。如果缺省这个属性,就代表了数据库里的表名和java类的类名是一样的。
<id.../>标签:该标签是用来映射主键的。其中的name属性用来指定持久化类标识属性名。<generator.../>用来定义主键生成策略。
<property.../>:标签:该标签用来映射普通属性。
以下会对hibernate的映射文件做详细的介绍。。。
分享到:
相关推荐
1. 第一步 2. 第二步 3. 第三步 4. 第四步 Hibernate 中的类型 * Java Type * Hibernate Type Hibernate 类型 * Java Type:Hibernate 内部直接提供了 Java 类型到数据库的对照表 * Hibernate Type:需要查找该 ...
6.1 案例分析:结合黑马程序员的day1至day4的讲义和笔记,深入理解在实际项目中如何应用Hibernate,解决具体问题。 总结,Hibernate作为强大的ORM框架,为Java开发者提供了便利,通过理解并熟练掌握其核心概念、...
《韩顺平Hibernate笔记》是一份详尽的关于Hibernate框架的学习资料,由知名IT教育专家韩顺平编撰。Hibernate是Java开发中的一个强大的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互,使得开发者可以...
**Hibernate学习笔记与大纲** Hibernate 是一款开源的Java语言下的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发人员可以使用面向对象的方式处理数据,而无需过多关注底层的SQL语句。本笔记将深入...
3. "hibernate-1" - 这是源代码的第一部分,可能包含Hibernate的初步设置、基本的CRUD操作等入门内容,适合初学者上手。 4. "hibernate-4" - 可能涉及到Hibernate的第四部分,涵盖了一些高级主题,如HQL(Hibernate ...
4. **第一天复习要点**: - **ORM原理**的深入讨论,包括对象持久化的必要性和各种持久化手段的优缺点。 - Hibernate的基本结构介绍,以及ORM的概念和作用。 5. **后续复习内容**: - 第二天可能涉及了更具体的...
Hibernate是一个开源的ORM框架,它提供了一种在Java应用程序中持久化对象的方式,将对象模型和关系型数据库模型进行桥接,从而降低了数据库操作的复杂性。通过使用Hibernate,开发者可以避免编写大量的JDBC代码,...
【压缩包子文件的文件名称列表】:“Hibernate第一天课堂笔记.docx”是一个Microsoft Word文档,很可能包含了该日课程的详细笔记,包括主要概念、关键点、例子和可能的练习。这些笔记通常会覆盖以下内容: 1. **...
本项目是一个基于SpringBoot框架的毕业设计案例,旨在实现一个学生读书笔记共享平台。通过这个系统,学生可以方便地上传、分享自己的读书笔记,与其他同学进行知识交流,提升学习效果。SpringBoot以其简洁的配置、...
Hibernate是一个开放源代码的Java ORM框架,它提供了一种在Java应用中持久化对象到关系数据库的方法。通过使用Hibernate,开发者可以将业务对象与数据库表之间的映射关系声明在XML配置文件或注解中,从而简化了数据...
1. **第一级缓存(First-Level Cache)**:每个Session都有一个本地缓存,用于存储当前Session内的对象。 2. **第二级缓存(Second-Level Cache)**:全局共享,可配置为集群缓存,提高性能。 3. **查询缓存...
- **HelloWorld**:Java程序入门的第一个示例,用于展示如何在控制台输出“Hello World!”,是学习任何编程语言的起点。 - **Hibernate原理模拟**: - **O/R Mapping**:即对象关系映射(Object/Relational Mapping)...
实体层设计:与第一种方法设计一样,设计三个实体类,分父类和子类 配置文件:依然只配置父类的映射文件,加入discriminator和subclass元素加入子类的映射关系 06 06Hibernate_Collection : Hibernate的容器映射...
#### 第一课:面向抽象编程 - **核心概念**:面向抽象编程强调的是程序设计中通过抽象接口来进行设计和实现的方式,它避免了直接依赖具体实现类,增强了系统的灵活性和可维护性。 - **应用场景**:当需要频繁替换...
\contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...
本资料集合了作者itherima在学习和使用Hibernate 5.0.7版本时的笔记、源码分析和实际操作案例,旨在帮助读者深入理解Hibernate的核心概念和实用技巧。 1. **基础知识篇** - Hibernate概述:介绍Hibernate的基本...
5. **Hibernate第2版开发手册.pdf**: 第2版的开发手册是理解Hibernate早期版本的基础,尽管较旧,但它仍然涵盖了许多至今仍然适用的基础知识。对比不同版本的开发手册,开发者可以了解到Hibernate的发展历程,理解...
视频教程通常会按照由浅入深的顺序,从安装配置环境到创建第一个Hibernate项目,再到复杂业务逻辑的处理,逐步引导学习者掌握相关技能。 【标签】"Hibernate"和"黑马"表明这是以Hibernate为主题,由知名教育机构...
配合《Hibernate笔记.doc》,你可以进一步巩固理论知识,通过实际案例加深理解和应用。这份笔记可能涵盖了作者在学习和使用Hibernate过程中遇到的问题、解决方案以及实用技巧,对于初学者和有经验的开发者都极具价值...