软件架构平台技术---Hibernate属性映射
好久没写博客了,一直在忙于一些华而不实的东西,在结束了看似光鲜却真的没有脚踏实地的东西后,就要静下心来整理一下上个学期学习的一些知识点。
首先我来回顾一下hibernate框架,这个框架是迷迷糊糊就大概知道怎么用了,但是却没有踏踏实实的全面了解它。
首先hibernate是一个ORM框架,访问数据库是整个J2EE必不可少的部分,目前依然使用关系型数据来保存数据。用java语言设计的程序是面向对象(Object)的,而持久数据是存储在关系型数据库(Relation)中的,所以需要一种映射机制(Mapping)。
首先什么是ORM?
ORM(对象-关系映射):
完成对象数据到关系型数据映射的机制称为对象-关系映射,简称ORM。
目前持久化的技术主要有三种:
1.传统的JBDC方案
2.半自动ORM框架(MyBatis)
3.全自动ORM框架(Hibernate)
传统的JDBC直接在SQL层面进行关系型数据库的操作,所以其有很高的性能,执行基于数据集的操作,但是JDBC是一个底层API,操作它会非常麻烦,为了保证正确的数据库操作和性能,需要使用大量捕获异常和释放资源的代码。
------------------------------------上面是Hibernate的一些简单介绍-------------------------
hibernate为我们提供了数据库层操作层面上一整套的解决方案,本人实在没有系统学习的情况下直接拿来用的导致于有些使用细节上并没有把握好,现在就类的属性和表的字段的映射上面做一些笔记。
-
普通属性的映射在**.hbm.xml中的写法是
<property name="" type="" column="" length="" not-null="">
其中name是必须要有的,像是文本格式的数据库text字段等特殊字段还是要设置一下type属性的 -
主键映射
<id name="adminId" type="integer"> <column name="adminId" /> <generator class="native" /> </id>
这里<generator>属性是主键的生成策略这里不做细致讨论 -
组成关系映射,也就是设计模式中的组合模式,代码如下面的样纸
package com.zdx.domain; public class User { private Integer id; private String name; private Address address; public User() { } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } }
package com.zdx.domain; public class Address { private String provice; private String city; private String street; public String getProvice() { return provice; } public void setProvice(String provice) { this.provice = provice; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } }
这里在User类中包含了一个Address的对象,所以这种常用的组合模式在User.hbm.xml配置文件中的配置如下:
<componment name="address" class="com.zdx.domain.Address"> <property name="province></property> <property name="city></property> <property name="street></property> </<componment>
4.Set集合映射
<set name="" table=""> <key colemn=""/> <element column="" type=""> </set>
当然还有List、Map、array、Bag.
这里还会涉及到关联关系(实体类型的集合映射)
一对多、多对一
多对多、一对一
这些内容在以后讲
相关推荐
### J2EE电子商务系统开发从入门到精通——基于Struts和Hibernate技术实现 #### J2EE概论 **1.1 简单双层架构到复杂多层架构** - **1.1.1 双层(C/S)软件架构设计** - 双层架构(客户端/服务器架构,Client/...
- **1.1.3 n层软件架构及Web软件架构**:这部分讨论了多层架构的概念,特别是如何将Web技术应用到多层架构中,以构建更灵活、可扩展的应用程序。 - **1.2 J2EE简介** - **1.2.1 什么是J2EE**:这部分介绍了J2EE的...
Hibernate则是一个对象关系映射(ORM)工具,它简化了数据库操作,允许开发者使用Java对象而不是SQL语句来操作数据。Spring框架则提供了一种依赖注入(DI)和面向切面编程(AOP)的方式,增强了应用的可测试性和模块...
实体类的属性对应数据库表的字段,而Hibernate的注解如`@Entity`, `@Table`, `@Id`, `@GeneratedValue`等用于定义映射关系。 2. **DAO (Data Access Object)** - 这是数据访问层,负责与数据库的交互。DAO类通常有...
在本示例中,我们将探讨如何整合Spring Boot、Kafka、Hibernate和Redis这四个关键的技术组件,构建一个高效、可扩展的应用系统。Spring Boot简化了Java应用的开发过程,Kafka是一个分布式消息中间件,Hibernate是...
在Java企业级开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作...在实践中,不断探索和理解这些关联映射方式,能够使开发者更加熟练地驾驭Hibernate,提升软件开发的质量和效率。
Hibernate是一个开源的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库。`hibernate-mapping`是Hibernate配置文件中的一部分,用于定义Java对象与数据库表之间的映射关系。 1. `default-...
映射文件应定义该类的属性与数据库表中的列之间的映射关系。例如,对于`HourlyEmployee`类,映射文件可能如下所示: ```xml ``` 类似的,`SalariedEmployee`类也有其对应的映射文件。 ##### 14.1.2 ...
在基于MVC(Model-View-Controller)的服务器架构中,Hibernate 作为模型层的重要组件,为数据访问提供了高效、灵活的支持。 ### Hibernate 基础入门 1. **Hibernate 简介** Hibernate 是一款开源的ORM框架,由 ...
总的来说,这个压缩包的内容涵盖了基于Struts、Spring和Hibernate的J2EE应用开发的关键技术,包括但不限于架构设计、请求处理、依赖注入、数据持久化以及视图渲染等。通过学习和实践这些代码,开发者能够深入理解这...
为了简化这一过程,一种名为InstantObjects的框架应运而生,它是针对Delphi的Hibernate架构控件,旨在自动化数据库的创建以及对象关系映射(Object-Relational Mapping,简称O-R)的构建。本文将深入探讨...
### Hibernate和Struts的整合架构中数据持久化技术的应用研究 #### 摘要与背景 本文探讨了在企业级应用开发中,采用Hibernate和Struts整合架构进行数据持久化技术的应用研究。针对传统单一框架构建的企业应用存在...
3. 集成Hibernate:在Spring配置文件(如`applicationContext.xml`)中,配置Hibernate的SessionFactory,包括数据源、实体扫描路径和Hibernate属性。此外,还可以定义事务管理器,以便在Spring管理的事务中使用...
- 包括属性映射、标识符(ID)映射、继承映射等,这些映射规则使得Java对象能够与数据库表进行对应。 - Hibernate支持多种映射策略,如一对一、一对多、多对多等关联映射,以及复合主键、懒加载等高级特性。 6. *...
映射的类和 hbm.xml 可以在 cfg.xml 和/或作为插件属性指定 Hibernate 属性可以由一个或多个 .properties 文件和/或作为插件属性提供 完整的架构验证,包括列类型、外键和索引。 用法 指定 Hibernate 配置相当简单...
Hibernate是Java开发中常用的一个对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库交互。 在描述中提到的“博文链接:https://kuangyeyazi.iteye.com/blog/2179371”,...
总结来说,Hibernate核心(hibernate-core)是SSH框架中的重要组成部分,它简化了Java应用与数据库之间的交互,通过对象关系映射技术提高了开发效率。开发者需要理解其核心组件和API,掌握如何配置、创建会话、执行...