映射文件_Hibernate 映射文件
一个对象/关系型映射一般定义在 XML 文件中。映射文件指示 Hibernate 如何将已经定义的类或类组与数据库中的表对应起来。
尽管有些 Hibernate 用户选择手写 XML 文件,但是有很多工具可以用来给先进的 Hibernate 用户生成映射文件。这样的工具包括 XDoclet, Middlegen 和 AndroMDA。
让我们来考虑我们之前定义的 POJO 类,它的对象将延续到下一部分定义的表中。
public class Employee { private int id; private String firstName; private String lastName; private int salary; public Employee() {} public Employee(String fname, String lname, int salary) { this.firstName = fname; this.lastName = lname; this.salary = salary; } public int getId() { return id; } public void setId( int id ) { this.id = id; } public String getFirstName() { return firstName; } public void setFirstName( String first_name ) { this.firstName = first_name; } public String getLastName() { return lastName; } public void setLastName( String last_name ) { this.lastName = last_name; } public int getSalary() { return salary; } public void setSalary( int salary ) { this.salary = salary; }}
对于每一个你想要提供持久性的对象都需要一个表与之保持一致。考虑上述对象需要存储和检索到下列 RDBMS 表中:
create table EMPLOYEE ( id INT NOT NULL auto_increment, first_name VARCHAR(20) default NULL, last_name VARCHAR(20) default NULL, salary INT default NULL, PRIMARY KEY (id));
基于这两个实体之上,我们可以定义下列映射文件来指示 Hibernate 如何将已定义的类或类组与数据库表匹配。
<?xml version="1.0" encoding="utf-8"?> This class contains the employee detail.
你需要以格式 .hbm.xml保存映射文件。我们保存映射文件在 Employee.hbm.xml 中。让我们来详细地看一下在映射文件中使用的一些标签:
- 映射文件是一个以 为根元素的 XML 文件,里面包含所有标签。
- 标签是用来定义从一个 Java 类到数据库表的特定映射。Java 的类名使用 name 属性来表示,数据库表明用 table 属性来表示。
- 标签是一个可选元素,可以被用来修饰类。
- 标签将类中独一无二的 ID 属性与数据库表中的主键关联起来。id 元素中的 name 属性引用类的性质,column 属性引用数据库表的列。type 属性保存 Hibernate 映射的类型,这个类型会将从 Java 转换成 SQL 数据类型。
- 在 id 元素中的 标签用来自动生成主键值。设置 generator 标签中的 class 属性可以设置 native 使 Hibernate 可以使用 identity, sequence 或 hilo 算法根据底层数据库的情况来创建主键。
- 标签用来将 Java 类的属性与数据库表的列匹配。标签中 name 属性引用的是类的性质,column 属性引用的是数据库表的列。type 属性保存 Hibernate 映射的类型,这个类型会将从 Java 转换成 SQL 数据类型。
还有一些其它属性和元素可用在映射文件中,我会在其它讨论 Hibernate 相关的主题中尽可能得涉及更多。
映射文件_Hibernate 映射文件相关推荐
- java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
http://langgufu.iteye.com/blog/2107023 java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类,不过如果 ...
- mmap映射大于4g的文件_iOS文件内存映射——MMAP
前言 最近一段项目上总是出现一些因为文件没有及时保存而产生的问题,因此小编就在网上寻找到了这个文件存储方法mmap,这里为大家进行下简单的介绍. 简介 首先我们需要对iOS中各App的运行环境进行了解 ...
- [原创]修改TFS本地文件映射路径,无法映射到相同文件夹问题。
在本地路径:C:\Users\[用户]AppData\Local\Microsoft\Team Foundation\3.0\Cache\ 下有文件:VersionControl.config,该文件 ...
- 【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表文件格式 | 头文件 数据格式 | 全局字符串池 数据格式 | 包数据 数据格式 | 包头 数据格式 )
文章目录 一.resources.arsc 资源映射表文件格式 二.头文件 数据格式 三.全局字符串池 数据格式 四.包数据 数据格式 1.包头 数据格式 2.资源类型字符串池 数据格式 3.资源名称 ...
- 淘宝文件系统文件映射原理及实现
文章目录 1 文件系统映射原理 1.1 文件映射应用场景 1.2 文件映射相关函数介绍 2 文件映射实战 1 文件系统映射原理 1.1 文件映射应用场景 主要应用场景如下: 进程间共享信息. 实现文件 ...
- java 内存映射文件 主要应用_VC++中使用内存映射文件处理大文件(3)
-- // 创建文件内核对象,其句柄保存于hFile HANDLE hFile = CreateFile("Recv1.zip", GENERIC_WRITE | GENERIC_ ...
- system文件_大文件拷贝,试试NIO的内存映射
最近项目里有个需求需要实现文件拷贝,在java中文件拷贝流的读写,很容易就想到IO中的InputStream和OutputStream之类的,但是上网查了一下文件拷贝也是有很多种方法的,除了IO,还有 ...
- 内存映射文件进行写文件和读文件有啥不同_Linux中的mmap映射 [二]
来看下上文介绍的mmap()的函数原型是怎样的: #include <sys/mman.h> void *mmap(void *addr, size_t length, int prot, ...
- 文件内存映射mmap解决大文件快速读写问题和进程间共享内存
mmap函数主要用途有三个: 1.将一个普通文件映射到内存中,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较高的性能: 2.将特殊文件进行匿名内存映射,可以为关联进程提供共 ...
最新文章
- ArcEngine开发中“错误类型****未定义构造函数”
- HDU 1245 Saving James Bond
- ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参【2种方法,ShuffleSplit+GridSearchCV、TimeSeriesSplitGSCV】、模型评估)
- 设计模式C++实现(8)——代理模式
- python基础教程:两个list之间移动元素
- HTML5 高级系列:web Storage 学前端开发要先看这个
- @order注解_别再用ifelse了,用注解去代替他吧
- Python爬虫:一些常用的爬虫技巧总结
- 计算机二级考试模拟表单答题,2016年计算机二级考试《VFP》模拟简答试题
- C#中泛型类型约束条件
- 漫谈 | “黎曼猜想”和区块链加密算法到底有什么关系?
- 埋点是什么意思_(一百二十二)埋点方案举例,如何做埋点方案
- [Java] 蓝桥杯ADV-188 算法提高 排列数
- win10设置Python程序定时运行(设置计划任务)
- 从1.5K到18K 一个程序员的5年成长之路
- 二级c语言试卷合集pdf,全国计算机二级C语言历年真题完整版.pdf
- Dos命令大全完整版
- 顶级 OEM 游戏整机到底行不行 — 惠普 OMEN 暗影精灵 6 游戏台式旗舰版评测
- win10连不上网,几种尝试
- diy nas配置推荐2020_NAS的DIY配置
热门文章
- 如何在 IDEA 使用Debug 图文教程
- 如何在 Java 中正确使用 wait, notify 和 notifyAll – 以生产者消费者模型为例
- 技巧:Go 结构体如何转换成 map[string]interface{}
- 未来,让我们一起想象— “Imagine”阿里云视频云全景创新峰会
- 一不小心,我们办了场全球最 _____ 的技术大会......
- 疫情伤了谁?反正不是这8大直播行业
- LiveVideoStack线上分享第三季(七):AVS3关键技术介绍、性能和复杂度分析
- LiveVideoStackCon讲师热身分享 ( 九 ) —— 51Talk音视频技术思考及非典型挑战
- FFmpeg 硬件加速方案概览 (下)
- Netflix:如何通过机器学习提高流媒体质量?