Hibernate_7_映射有关的知识点
(一)集合映射:
类型Java中声明映射元素
------------------------------------------
SetSet<set><set>
ListList<list>
MapMap<map><map>
数组...[]<array>
BagList/Collection<bag>
---------------
要说明的信息有:
1,只要有集合,就一定有集合表。
2,集合外键。
3,集合元素。
4,对于List和数组,还需要多一个索引列。
5,对于Map,还需要多一个key列。
(二)关联关系映射(要说明的信息有什么):
一对多:
1,属性名
2,集合外键
3,关联的实体类型(one-to-many class="")
多对一:
1,属性名
2,外键列名
3,关联的实体类型
多对多:
1,属性名
2,中间表
3,集合外键:引用当前对象表主键值的那外外键
4,关联的实体类型
5,另一个外键:引用关联实体表主键的那个外键。
一些重要的属性:
inverse:
是否放弃维护关联关系;默认是false,表示可以维护;实体类型的集合映射中可以使用(一对多、多对多)。
sort:
在内存中排序(类似于TreeSet);默认为unsorted,即不排序;在无序的集合映射中可以使用。
order-by:
使用数据库排序,即在SQL中增加orderby子句(类似于LinkedHashSet);
默认不排序,这里指定的是sql语句中的orderby子句;在无序的集合映射中可以使用。
cascade:
级联; 默认为none; 在所有的关联关系映射中可以使用。
常用的值:all, save-update, delete, none.
(三)Session中的方法。
对象的状态:
Session中数库中
------------------------------------
临时 无关无关
持久化 有关最终会有关
游离 无关有关
删除 调用了delete()方法后
1,操作实体对象的
save()
update()
saveOrUpdate()
delete()
2,操作缓存的
clear()清空Session缓存,不会执行sql语句。
evict()
flush()马上执行sql语句,不会清楚Session缓存。
3,查询实体对象的
get()
load() 懒加载
createQuery()
createCriteria()
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。