您的位置:首页 > 其它

Hibernate_集合映射、关联关系、Session方法总结

2017-05-08 12:59 435 查看
一、集合映射。
类型	Java中声明		映射元素
---------------------------------
Set		Set				<set>
List	List			<list>
Map		Map				<map>
数组	...[]			<array>
Bag		List/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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: