【《Hibernate学习笔记之三》:联合主键的映射】教程文章相关的互联网学习教程文章

Hibernate学习笔记(5)联合主键

现在大家都不推荐使用联合主键,关键是因为其需要自己手工维护,比较麻烦。但是一个项目可能因为历史遗留原因,你不得不面对联合主键。 Hibernate联合主键问题解决如下: 可以使用一个组件作为一个实体类的标识符。你的组件类必须满足以下要求: (1)它必须实现 java.io.Serializable 接口 (2)它必须重新实现 equals() 和 hashCode() 方法,始终和组合关键字在数据库中的概念保持一致 注意:在 Hibernate3 中,第二个要求并非是 ...

Hibernate学习笔记_02【代码】【图】

上篇文章(传送门:Hibernate学习笔记_01)介绍了Hibernate是什么,如何搭建,配置文件详解以及Hibernate的一些基本API详解这几个方面做了简单介绍,那么本文将会从一下5个方面记录Hibernate的学习经历:1.hibernate中的实体规则2.hibernate中的对象状态3.hibernate进阶—— 一级缓存4.hibernate中的事务5.hibernate中的批量查询(概述) Ⅰ.Hibernate中的实体规则在Hibernate使用中,需要创建与数据库表对应的实体,并在映射文件中配置.在创建...

【Hibernate学习笔记】第一章节:Java EE应用和开发环境

1. Java EE应用的分层模型 1.1. Java EE架构模式大致可以分为以下几层: >> Domain Object(领域对象)层:此层由POJO(Plain Old Java Object,普通的、传统的Java对象)组成,这些对象是该系统的Domain Object,往往包含了各自所需要实现的业务逻辑方法。 >> DAO(Data Access Object,数据访问对象)层:此层由一系列的DAO组件组成,这些DAO实现了对数据库的创建、查询、更新和删除等院子操作。 >> 业务逻辑层:此层...

HIbernate学习笔记4 之 延迟加载和 关联映射【图】

一、延迟加载 * 在使用hibernate一些方法的查询数据的时候,返回的只是一个空对象(除id外属性都为NULL),并没有真正的查询数据库,而是在使用这个对象时才会触发查询数据库,并将这些数据注入到这个空对象中。这种将查询实际推迟到对象访问的机制就称为 延迟加载。 *好处: 可以提升内存资源的使用率,降低对数据库的访问次数。 *方法: session.load() / query.iterate() / 关联映射中对关联属性的加载 *注...

[原创]java WEB学习笔记87:Hibernate学习之路-- -映射 继承关系(subclass , joined-subclass,union-subclass )【代码】【图】

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系。本人互联网技术爱好者,互联网技术发烧友微博:伊直都在0221QQ:951226918--------------------------------------------------------------------------------------------------------------------------------------------------------...

NHibernate 学习笔记(一)

NHibernate 的简介:NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping (ORM))这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。NHibernate不仅仅管理.NET类到数据库表的映射(包括.NET数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和ADO.NET处理数据的时间。NHibernate的目标是对...

Hibernate学习笔记三【图】

1.1.1 Hibernate的关联关系映射:(多对多)1.1.1.1 多对多的配置:步骤一创建实体和映射:Student:public class Student {private Integer sid;private String sname;// 学生选择多门课程.private Set<Course> courses = new HashSet<Course>();...} Course:public class Course {private Integer cid;private String cname;// 课程可以被多个学生选择:private Set<Student> students = new HashSet<Student>();...} Student.hbm.xml<h...

《Hibernate学习笔记之三》:联合主键的映射【代码】

《Hibernate学习笔记之三》:联合主键的映射就如在前面所举的例子一样,是使用的id作为唯一的主键,一般情况下我们也只使用唯一的一个属性作为主键,但是在实际中,我们可能会遇到几个属性作为主键的情况,因此,在本篇博文中,就来介绍下,联合主键的映射关系应该如何来做??联合主键的映射有两种方式来进行实现。1、使用映射文件 XXX.bhm.xml2、使用AnnotationHibernate首先需要使用联合主键的实体类必须实现Serializable接口,...

hibernate学习笔记第四天

一对多关联关系表 一方 多方(外键)实体类 一方:TeacherModel 添加多方的集合Set 多方StudentModel 添加一方的对象一方配置关系 name:一方模型中描述多方的集合对象名 column:多方数据库表中的外键名称 class:多方模型类名 <set name="students"> <key column="teacherUuid"></key> <one-to-many class="cn.itcast.h3.one2many.vo.StudentModel"/> </set>多方配置关系 name:多方模型中描述一方的对象名 class:一方模型类...

【Hibernate学习笔记】第二章节:JSP/Servlet及相关技术详解

JSP(Java Servr Page)和Servlet是Java EE规范的两个基本成员,他们是Java Web开发的重点知识,也是Java EE开发的基础知识。JSP和Servlet的本质是一样的,因此JSP最终必须编译成Servlet才能运行,或者说JSP只是生成Servlet的“草稿”文件。JSP的特点是在HTML页面中嵌入了Java代码片段,从而可以动态的提供页面内容。 1.Web应用和web.xml文件 JSP、Servlet、Listener和Filter等都必须运行在Web应用中。 1.1. 构建Web应用 下面...

Hibernate---我的Hibernate学习笔记【图】

Hibernate---我的Hibernate学习笔记 软件开发的分层思想:三层架构:数据表现层业务逻辑层数据持久层SUN的桌面应用Swing AWT普通Java类JDBCSUN的WEB基本应用JSP普通ServletJDBCSUN的WEB高级应用JSFSessionBeanPersistenceWEB国内流行开源StrutsSpringHibernate一、 对象持久化的理论1.对象持久化:内存中的对象转存到外部持久设备上,在需要的时候还可以恢复。2.对象持久化的原因(目标):物理:1) 内存不能持久,需要在硬盘上持久...

【JAVAEE学习笔记】hibernate02:实体规则、对象状态、缓存、事务、批量查询和实现客户列表显示【代码】【图】

一、hibernate中的实体规则实体类创建的注意事项 1.持久化类提供无参数构造 2.成员变量私有,提供共有get/set方法访问.需提供属性 3.持久化类中的属性,应尽量使用包装类型 4.持久化类需要提供oid.与数据库中的主键列对应 5.不要用final修饰class主键类型自然主键(少见)  表的业务列中,有某业务列符合,必须有,并且不重复的特征时,该列可以作为主键使用.代理主键(常见)  表的业务列中,没有某业务列符合,必须有,并且不重复的特...

Hibernate学习笔记_关系映射【代码】

一对一关联 一, 一对一单向外键关联 a) Annotation: 在被约束表字段的get方法上加@0ne20ne @JoinColumn //Husband .java@Entity publicclass Husband {privateint id;private String name;private Wife wife;@Id@GeneratedValuepublicint getId() {return id;}public String getName() {return name;}@OneToOne@JoinColumn(name="wifeId")//指定生成的数据库字段名publ...

Hibernate个人学习笔记(1)

连接池c3p0所需jar包:Hiberbate开发包-lib-optional-c3p0下全部Jar包Hiberbate连接池参数配置:Hiberbate开发包-project-etc-hibernate.propertieshiberbate.cfg.xml参数(放在src下):<session-factory><!--配置mysql数据库连接参数--><property name="hibernate.dialect">org.hibernate.dialect.MySQLialect</property><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hib...

《Hibernate学习笔记十一》:树状结构设计【代码】

《Hibernate学习笔记十一》:树状结构设计这是马士兵老师讲解Hibernate的一个作业题,树状结构设计,这是一个比较典型的例子,因此有必要写篇博文记录下。树状结构的设计,它是在同一个类中使用了多对一(ManyToOne)和一对多(OneToMany).在完成这个题目我们应该按照如下的步骤进行:1、先思考数据库的模型应该是什么样的??数据库中的模型应该如下:即存在id p_id2、思考面向对象的模型,及如何来进行映射???根据数据库中表的特...