hibernate第三天 一对多 , 多对多
1.1. 阐述你对inverse的理解
答:
1、inverse的默认值是false,代表不放弃外键维护权,配置值为true,代表放弃了外键的维护权。
2、双方维护外键会多产生update语句,造成浪费资源,一般一对多的情况中一方放弃维护权,多对多情况任意一方放弃
3、Inverse 决定数据库中外键值是否存在
使用HQL时需要注意以下几点:
1.大小写敏感
因为HQL是面向对象的,而对象类的名称和属性都是大小写敏感的,所以HQL是大小写敏感的。
HQL语句:from Cat as cat where cat.id > 1;与from Cat as cat where cat.ID > 1;是不一样的,这点与SQL不同。
1. Hibernate中的延迟加载和立即加载?
答案:
延迟加载: 1.降低了内存的开销,在用到某些数据的时候才会到数据中进行查询。 2.提高了程序运行性能。
注:如果session被关闭了,而你又想用到某些数据,这个时候使用延迟加载会出错;需要立即加载或者使用OpenSessionInView。
立即加载: 1.select语句的数目太多,需要频繁的访问数据库------会影响查询性能。
2.如在应用程序只需要访问DEPT对象,而不需要访问EMP对象的场合,加载EMP对象完全是多余的操作,这些EMP对象-----白白浪费了内存空间。
注:如果session被关闭了,而你想访问EMP对象,这个时候是不会出错的,因为对象都被加载到内存了。 区别
1) 查询时机,get 会立即加载并查询;
load,用的时候才发起查询
2) 返回值不同 get 返回查询的实体类对象;
load 返回 实体类 代理的对象。
hibernate第三天 一对多 , 多对多的更多相关文章
- 面试题:hibernate第三天 一对多和多对多配置
1.1 一对多XML关系映射 1.1.1 客户配置文件: <?xml version="1.0" encoding="UTF-8"?> <!D ...
- Hibernate框架学习(六)——一对多&多对一关系
一.关系表达 1.表中的表达 2.实体中的表达 3.orm元数据中的表达 一对多:(在Customer.hbm.xml中添加) 多对一:(在LinkMan.hbm.xml中添加) 最后别忘了在hibe ...
- Hibernate关联映射(一对多/多对多)
版权声明:翀版 https://blog.csdn.net/biggerchong/article/details/843401053. Hibernate关联映射上接Hibernate持久化类:h ...
- Hibernate第三天——表间关系与级联操作
第三天,我们来使用Hibernate进行表之间一对多 多对多关系的操作: 这里我们先利用两个例子进行表关系的回顾: 一对多(重点): 例如分类和商品的关系,一个分类多个商品,一个商品属于一个分类 CR ...
- Hibernate 集合映射 一对多多对一 inverse属性 + cascade级联属性 多对多 一对一 关系映射
1 . 集合映射 需求:购物商城,用户有多个地址. // javabean设计 // javabean设计 public class User { private int userId; privat ...
- Hibernate中用注解配置一对多双向关联和多对一单向关联
Hibernate中用注解配置一对多双向关联和多对一单向关联 Hibernate提供了Hibernate Annotations扩展包,使用注解完成映射.在Hibernate3.3之前,需单独下载注解 ...
- 2018.11.4 Hibernate中一对、多对多的关系
简单总结一下 多表关系 一对多/多对一 O 对象 一的一方使用集合. 多的一方直接引用一的一方. R 关系型数据库 多的一方使用外键引用一的一方主键. M 映射文件 一: 多: 操作: 操作管理级别属 ...
- JPA实体关系映射:@ManyToMany多对多关系、@OneToMany@ManyToOne一对多多对一关系和@OneToOne的深度实例解析
JPA实体关系映射:@ManyToMany多对多关系.@OneToMany@ManyToOne一对多多对一关系和@OneToOne的深度实例解析 今天程序中遇到的错误一 org.hibernate.A ...
- hibernate笔记(三)
目标: 第1部分: 对象的状态: 第2部分:缓存 1) 一级缓存 2) 相关知识 ----懒加载--- 第3部分:映射 一对一映射 组件映射 继承映射 一.对象的状态 举例: User user ...
随机推荐
- BO客户端安装更新,重新启动挂起。
如图所示,我重启了之后还是没有用处.不知道怎么回事.好网上有人遇到过. https://blog.csdn.net/iluckyflower/article/details/37506937 参考这 ...
- PhotoShop使用指南(2)——下雨动画效果
第一步: 第二步: 第三步: 第四步:
- python中读写LMDB数据库
LMDB的全称是Lightning Memory-Mapped Database(快如闪电的内存映射数据库),它的文件结构简单,包含一个数据文件和一个锁文件: LMDB文件可以同时由多个进程打开,具有 ...
- THUPC2017 小 L 的计算题
求 $k=1,2,\cdots,n \space \space \sum\limits_{i=1}^n a_i^k$ $n \leq 2 \times 10^5$ sol: 时隔多年终于卡过去了 之前 ...
- HDU1815 Building roads(二分+2-SAT)
Problem Description Farmer John's farm has N barns, and there are some cows that live in each barn. ...
- grep---Linux下文本处理五大神器之五
转自:http://www.cnblogs.com/dong008259/archive/2011/12/12/2285264.html grep是linux中很常用的一个命令,主要功能就是进行字符串 ...
- webrtc自带client的音频引擎创建代码走读
src\webrtc\examples\peerconnection\client\conductor.cc1.bool Conductor::InitializePeerConnection()1. ...
- SSL与TLS的区别
SSL(Secure Socket Layer 安全套接层)是基于HTTPS下的一个协议加密层,最初是由网景公司(Netscape)研发,后被IETF(The Internet Engineering ...
- 几种排序方式的java实现(01:插入排序,冒泡排序,选择排序,快速排序)
以下为集中排序的java代码实现(部分是在引用别人代码): 插入排序(InsertSort): //代码原理 public static void iSort(int[] a){ for(int i ...
- __cdecl & __stdcall calling conventions
(一) __cdecl: c declaration C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈.C/C++默认的调用方式,可用于函数参数不确定的情况下. ...