社区
Java
帖子详情
hibernate配置的某个实体的hbm文件需要和数据库中的表一一对应吗
留香宝宝
2018-01-13 11:11:19
如题:
hibernate中为某个实体类配置的.hbm文件需要和数据库中对应的表一一对应吗,即hbm文件是否需要和表一一对应, 表中列是否可以多于hbm文件?
如果多了是否会出错?
...全文
749
5
打赏
收藏
hibernate配置的某个实体的hbm文件需要和数据库中的表一一对应吗
如题: hibernate中为某个实体类配置的.hbm文件需要和数据库中对应的表一一对应吗,即hbm文件是否需要和表一一对应, 表中列是否可以多于hbm文件? 如果多了是否会出错?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
drfxiaoliuzi
2018-02-24
打赏
举报
回复
看了半天没看懂是啥。 https://www.mkyong.com/hibernate/hibernate-one-to-many-relationship-example/ 强答一波:不过我的理解,貌似只要你不改变原来的字段的名字,让原来的字段名字可以被xml的索引到,就是可以改动的表结构的,比如新增加一列FieldTest0,因为配置文件中没有,所以加了相当于没加。。。因为配置文件中,相当于这列是不存在的。但是如果你改动原来的字段,如果配置文件没有重新生成,那貌似肯定是不行的。 但是,如果重新生成hbm配置文件,是否create时候会把新增加的字段加入进来就不好说了。 最后弱弱问一句:为啥会有这种让配置和db不一致的需求呢,只在表里加,不想在配置里使用?
留香宝宝
2018-01-14
打赏
举报
回复
在本地测试了一下 1.最初数据库未建表通过设置参数 <property name="hbm2ddl.auto">update</property>自动 生成了一个按hbm配置的表 2.手动修改数据库中表结构,多加了一列,允许为空 3.注释掉 <property name="hbm2ddl.auto">update</property>, 通过session query 、save 均未报错 出现问题。 所以是可以表结构与hbm不一致对吧
引用 1 楼 computerclass 的回复:
hibernate 文档上有说明呀
留香宝宝
2018-01-13
打赏
举报
回复
初学 没找到... 能告诉下具体是在哪里吗
computerclass
2018-01-13
打赏
举报
回复
hibernate 文档上有说明呀
精通
hibernate
:对象持久化技术孙卫琴第二版part2
第1章 Java应用分层架构及软件模型 1 本章介绍软件的分层结构、关系数据模型和域模型等概念。
Hibernate
位于持久化层,是域模型和关系数据模型之间的桥梁。 1.1 应用程序的分层体系结构 1 1.1.1 区分物理层和逻辑层 2 1.1.2 软件层的特征 3 1.1.3 软件分层的优点 4 1.1.4 软件分层的缺点 4 1.1.5 Java应用的持久化层 5 1.2 软件的模型 6 1.2.1 概念模型 7 1.2.2 关系数据模型 8 1.2.3 域模型 10 1.2.4 域对象 10 1.2.5 域对象之间的关系 11 1.2.6 域对象的持久化概念 17 1.3 小结 19 1.4 思考题 19 第2章 Java对象持久化技术概述 21 业务数据在内存
中
表
现为
实体
域对象形式,而在关系
数据库
中
表
现为关系数据形式。数据访问代码负责把
实体
域对象持久化到关系
数据库
中
。 2.1 直接通过JDBC API来持久化
实体
域对象 21 .2.2 ORM简介 27 2.2.1 对象-关系映射的概念29 2.2.2 ORM
中
间件的基本使用方法 31 2.2.3 常用的ORM
中
间件 33 2.3
实体
域对象的其他持久化模式 34 2.3.1 主动域对象模式 35 2.3.2 JDO模式 37 2.3.3 CMP模式 37 2.4
Hibernate
API简介 38 2.4.1
Hibernate
的核心接口 39 2.4.2 事件处理接口 41 2.4.3
Hibernate
映射类型接口 41 2.4.4 可供扩展的接口 42 2.5 小结 43 2.6 思考题 45 第3章 第一个
Hibernate
应用 47 本章通过简单的helloapp应用例子,演示如何利用
Hibernate
来持久化Java对象。 3.1 创建
Hibernate
的
配置
文件
47 3.2 创建持久化类 48 3.3 创建
数据库
Schema 51 3.4 创建对象-关系映射
文件
52 3.4.1 映射
文件
的文档类型定义(DTD) 52 3.4.2 把Customer持久化类映射到CUSTOMERS
表
54 3.5 通过
Hibernate
API操纵
数据库
58 3.5.1
Hibernate
的初始化 61 3.5.2 访问
Hibernate
的Session接口 63 3.6 运行helloapp应用 67 3.6.1 创建运行本书范例的系统环境 67 3.6.2 创建helloapp应用的目录结构 72 3.6.3 把helloapp应用作为独立应用程序运行 73 3.6.4 把helloapp应用作为Java Web应用运行 77 3.7 小结 78 3.8 思考题 80 第4章
hbm
2java和
hbm
2ddl工具 83 本章介绍
Hibernate
提供的两个工具
hbm
2java和
hbm
2ddl,它们能简化软件开发过程。 4.1 创建对象-关系映射
文件
83 4.1.1 定制持久化类 85 4.1.2 定制
数据库
表
88 4.2 建立项目的目录结构 90 4.3 运行
hbm
2java工具 93 4.4 运行
hbm
2ddl工具 94 4.5 使用XML格式的
配置
文件
96 4.6 小结 97 4.7 思考题 98 第5章 对象-关系映射基础 101 本章主要介绍单个持久化类与单个
数据库
表
之间进行映射的方法,尤其是当持久化类的属性不和
数据库
表
的字段
一一对应
时的映射技巧。 5.1 持久化类的属性及访问方法 101 5.1.1 基本类型属性和包装类型属性 102 5.1.2
Hibernate
访问持久化类属性的策略 104 5.1.3 在持久化类的访问方法
中
加入程序逻辑 104 5.1.4 设置派生属性 107 5.1.5 控制insert和update语句 108 5.2 处理SQL引用标识符 109 5.3 创建命名策略 110 5.4 设置
数据库
Schema 112 5.5 设置类的包名 113 5.6 运行本章的范例程序 114 5.7 小结 120 5.8 思考题 121 第6章 映射对象标识符 123 本章主要介绍关系
数据库
中
的代理主键(不具有业务含义),接着介绍
Hibernate
提供的几种内置标识符生成器的用法及适用范围。 6.1 关系
数据库
按主键区分不同的记录 123 6.1.1 把主键定义为自动增长标识符类型 123 6.1.2 从序列(Sequence)
中
获取自动增长的标识符 124 6.2 Java语言按内存地址区分不同的对象 125 6.3
Hibernate
用对象标识符(OID)来区分对象 126 6.4
Hibernate
的内置标识符生成器的用法 128 6.4.1 increment标识符生成器 131 6.4.2 identity标识符生成器 133 6.4.3 sequence标识符生成器 134 6.4.4 hilo标识符生成器 135 6.4.5 native标识符生成器 137 6.5 映射自然主键 138 6.5.1 映射单个自然主键 138 6.5.2 映射复合自然主键 140 6.6 小结 143 6.7 思考题 144 第7章 映射一对多关联关系 147 本章介绍一对多关联关系的映射方法,重点介绍inverse属性和cascade属性的用法。本章还将介绍通过
Hibernate
API来保存、修改和删除具有关联关系的对象的方法。 7.1 建立多对一的单向关联关系 148 7.1.1 [many-to-one]元素的not-null属性 153 7.1.2 级联保存和更新 155 7.2 映射一对多双向关联关系 156 7.2.1 [set]元素的inverse属性 161 7.2.2 级联删除 163 7.2.3 父子关系 164 7.3 映射一对多双向自身关联关系 165 7.4 改进持久化类 171 7.5 小结 175 7.6 思考题 176 第8章 通过
Hibernate
操纵对象(上) 179 本章站在持久化层的角度,Java对象在生命周期
中
可处于临时状态、持久化状态、删除状态和游离状态。处于持久化状态的Java对象位于一个Session实例的缓存
中
,Session能根据这个对象的属性变化来同步更新
数据库
。 8.1 Java对象在JVM
中
的 生命周期 179 8.2 理解Session的缓存 181 8.2.1 Session的缓存的作用 182 8.2.2 脏检查及清理缓存的机制 184 8.3 Java对象在
Hibernate
持久化层的状态 187 8.3.1 临时对象的特征 188 8.3.2 持久化对象的特征 189 8.3.3 被删除对象的特征 190 8.3.4 游离对象的特征 191 8.4 Session接口的详细用法 191 8.4.1 Session的save()和persist()方法 191 8.4.2 Session的load()和get()方法 194 8.4.3 Session的update()方法 195 8.4.4 Session的saveOrUpdate()方法 197 8.4.5 Session的merge()方法 198 8.4.6 Session的delete()方法 200 8.4.7 Session的replicate()方法 201 8.5 级联操纵对象图 202 8.5.1 级联保存临时对象 206 8.5.2 更新持久化对象 207 8.5.3 持久化临时对象 207 8.5.4 更新游离对象 209 8.5.5 遍历对象图 210 8.6 小结 211 8.7 思考题 211
精通
Hibernate
:对象持久化技术第二版part3
第1章 Java应用分层架构及软件模型 1 本章介绍软件的分层结构、关系数据模型和域模型等概念。
Hibernate
位于持久化层,是域模型和关系数据模型之间的桥梁。 1.1 应用程序的分层体系结构 1 1.1.1 区分物理层和逻辑层 2 1.1.2 软件层的特征 3 1.1.3 软件分层的优点 4 1.1.4 软件分层的缺点 4 1.1.5 Java应用的持久化层 5 1.2 软件的模型 6 1.2.1 概念模型 7 1.2.2 关系数据模型 8 1.2.3 域模型 10 1.2.4 域对象 10 1.2.5 域对象之间的关系 11 1.2.6 域对象的持久化概念 17 1.3 小结 19 1.4 思考题 19 第2章 Java对象持久化技术概述 21 业务数据在内存
中
表
现为
实体
域对象形式,而在关系
数据库
中
表
现为关系数据形式。数据访问代码负责把
实体
域对象持久化到关系
数据库
中
。 2.1 直接通过JDBC API来持久化
实体
域对象 21 .2.2 ORM简介 27 2.2.1 对象-关系映射的概念29 2.2.2 ORM
中
间件的基本使用方法 31 2.2.3 常用的ORM
中
间件 33 2.3
实体
域对象的其他持久化模式 34 2.3.1 主动域对象模式 35 2.3.2 JDO模式 37 2.3.3 CMP模式 37 2.4
Hibernate
API简介 38 2.4.1
Hibernate
的核心接口 39 2.4.2 事件处理接口 41 2.4.3
Hibernate
映射类型接口 41 2.4.4 可供扩展的接口 42 2.5 小结 43 2.6 思考题 45 第3章 第一个
Hibernate
应用 47 本章通过简单的helloapp应用例子,演示如何利用
Hibernate
来持久化Java对象。 3.1 创建
Hibernate
的
配置
文件
47 3.2 创建持久化类 48 3.3 创建
数据库
Schema 51 3.4 创建对象-关系映射
文件
52 3.4.1 映射
文件
的文档类型定义(DTD) 52 3.4.2 把Customer持久化类映射到CUSTOMERS
表
54 3.5 通过
Hibernate
API操纵
数据库
58 3.5.1
Hibernate
的初始化 61 3.5.2 访问
Hibernate
的Session接口 63 3.6 运行helloapp应用 67 3.6.1 创建运行本书范例的系统环境 67 3.6.2 创建helloapp应用的目录结构 72 3.6.3 把helloapp应用作为独立应用程序运行 73 3.6.4 把helloapp应用作为Java Web应用运行 77 3.7 小结 78 3.8 思考题 80 第4章
hbm
2java和
hbm
2ddl工具 83 本章介绍
Hibernate
提供的两个工具
hbm
2java和
hbm
2ddl,它们能简化软件开发过程。 4.1 创建对象-关系映射
文件
83 4.1.1 定制持久化类 85 4.1.2 定制
数据库
表
88 4.2 建立项目的目录结构 90 4.3 运行
hbm
2java工具 93 4.4 运行
hbm
2ddl工具 94 4.5 使用XML格式的
配置
文件
96 4.6 小结 97 4.7 思考题 98 第5章 对象-关系映射基础 101 本章主要介绍单个持久化类与单个
数据库
表
之间进行映射的方法,尤其是当持久化类的属性不和
数据库
表
的字段
一一对应
时的映射技巧。 5.1 持久化类的属性及访问方法 101 5.1.1 基本类型属性和包装类型属性 102 5.1.2
Hibernate
访问持久化类属性的策略 104 5.1.3 在持久化类的访问方法
中
加入程序逻辑 104 5.1.4 设置派生属性 107 5.1.5 控制insert和update语句 108 5.2 处理SQL引用标识符 109 5.3 创建命名策略 110 5.4 设置
数据库
Schema 112 5.5 设置类的包名 113 5.6 运行本章的范例程序 114 5.7 小结 120 5.8 思考题 121 第6章 映射对象标识符 123 本章主要介绍关系
数据库
中
的代理主键(不具有业务含义),接着介绍
Hibernate
提供的几种内置标识符生成器的用法及适用范围。 6.1 关系
数据库
按主键区分不同的记录 123 6.1.1 把主键定义为自动增长标识符类型 123 6.1.2 从序列(Sequence)
中
获取自动增长的标识符 124 6.2 Java语言按内存地址区分不同的对象 125 6.3
Hibernate
用对象标识符(OID)来区分对象 126 6.4
Hibernate
的内置标识符生成器的用法 128 6.4.1 increment标识符生成器 131 6.4.2 identity标识符生成器 133 6.4.3 sequence标识符生成器 134 6.4.4 hilo标识符生成器 135 6.4.5 native标识符生成器 137 6.5 映射自然主键 138 6.5.1 映射单个自然主键 138 6.5.2 映射复合自然主键 140 6.6 小结 143 6.7 思考题 144 第7章 映射一对多关联关系 147 本章介绍一对多关联关系的映射方法,重点介绍inverse属性和cascade属性的用法。本章还将介绍通过
Hibernate
API来保存、修改和删除具有关联关系的对象的方法。 7.1 建立多对一的单向关联关系 148 7.1.1 [many-to-one]元素的not-null属性 153 7.1.2 级联保存和更新 155 7.2 映射一对多双向关联关系 156 7.2.1 [set]元素的inverse属性 161 7.2.2 级联删除 163 7.2.3 父子关系 164 7.3 映射一对多双向自身关联关系 165 7.4 改进持久化类 171 7.5 小结 175 7.6 思考题 176 第8章 通过
Hibernate
操纵对象(上) 179 本章站在持久化层的角度,Java对象在生命周期
中
可处于临时状态、持久化状态、删除状态和游离状态。处于持久化状态的Java对象位于一个Session实例的缓存
中
,Session能根据这个对象的属性变化来同步更新
数据库
。 8.1 Java对象在JVM
中
的 生命周期 179 8.2 理解Session的缓存 181 8.2.1 Session的缓存的作用 182 8.2.2 脏检查及清理缓存的机制 184 8.3 Java对象在
Hibernate
持久化层的状态 187 8.3.1 临时对象的特征 188 8.3.2 持久化对象的特征 189 8.3.3 被删除对象的特征 190 8.3.4 游离对象的特征 191 8.4 Session接口的详细用法 191 8.4.1 Session的save()和persist()方法 191 8.4.2 Session的load()和get()方法 194 8.4.3 Session的update()方法 195 8.4.4 Session的saveOrUpdate()方法 197 8.4.5 Session的merge()方法 198 8.4.6 Session的delete()方法 200 8.4.7 Session的replicate()方法 201 8.5 级联操纵对象图 202 8.5.1 级联保存临时对象 206 8.5.2 更新持久化对象 207 8.5.3 持久化临时对象 207 8.5.4 更新游离对象 209 8.5.5 遍历对象图 210 8.6 小结 211 8.7 思考题 211
hibernate
4从入门到大神(备java基础,mysql,javaee经典框架)
Hibernate
4开发技术:ORM思想,
hibernate
介绍,
hibernate
.cfg.xml
配置
,
hbm
.xml映射
文件
详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,
Hibernate
数据检索技术,
Hibernate
映射技术,
Hibernate
多
表
联合查询,
Hibernate
二级缓存技术,
Hibernate
分页技术,
Hibernate
性能优化技术。
Hibernate
入门案例——第三步:
配置
实体
类和
数据库
一一对应
关系(映射关系)
1:创建xml格式的
配置
文件
映射
配置
文件
名称和位置没有固定要求 建议:在
实体
类所在包里面创建 格式:
实体
类名称.
hbm
.xml 2:
配置
文件
是xml格式的,在
配置
文件
中
首先引入xml约束
hibernate
的DTD
文件
(
hibernate
-mapping-3.0.dtd约束
文件
)下载 把约束
文件
中
的 放入到.
hbm
.xml的
配置
文件
中
3:
配置
映射关系 <?xml version...
java
Hibernate
框架
配置
文件
与
实体
对应关系
一、
Hibernate
配置
有两个: 1-主
配置
文件
:
hibernate
.cfg.xml (
文件
名固定) 此
文件
定义在项目src
文件
夹下 2-对应
表
orm映射
配置
文件
:Customer.
hbm
.xml 以Customer
表
为例(
文件
名与
实体
名对应,后缀固定),此
文件
与对应的
实体
表
同一个包下(
文件
夹) 二、
Hibernate
主
配置
文件
详解(注释
文件
放本文最后) 三、Hiberna...
Java
50,523
社区成员
85,601
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章