文档章节

NOTE:Hibernate-2010

猪刚烈
 猪刚烈
发布于 2014/10/12 11:40
字数 670
阅读 11
收藏 0

2009-12-10

为什么“单向一对多”并不推荐使用关联列而使用关联表呢?

JPWH一书中的解释是说:如果在“Many"方设外键关联,必须设为可空,而对于数据库设计来说,这增加了数据的“不确定性”。这个解释让人迷惑,我认为至少还有另外一种合理的解释,即:这种参照方式是与单向一对多表达的逻辑含义是相反的。单向一对多表达应该表达的是one方对many方地参照!从这个意义上来看,引入关联表是更合理的一种方式。

以Signage为例:

Signage到它的适用类型是一种典型的单向一对多关联!在这个关联中,下面的设计会让人觉得“怪异”,因为这样成了让适用类型主动去参照Signage了!

 

2010-1-15

getCurrentSession()创建的Session与事务绑定是这样完成的:
通过getCurrentSession()获得的这个Session实际上是一个代理,这个代理做了两个重要的工作:
1.强制通过session做任何操作前必须先调用begainTranscation,否则会抛异常。这一点确保了对session的使用总是从一个事物开始的。
2.当事务在commit或rollback后session会自动关闭。这一点确保了session与事物同时终结。
这样,session与transaction起始点至,便是所说的:session-per-transaction

2010-1-18

关于Session绑定的Context,Session和Transaction:

首先要明确:将Session绑定到某种上下文上是把Session实例放到这个上下文上,即保证在这个上下文中可以随时获得这个Session,并且是唯一的一个。而Session和Transaction之间的关系多指Session-Per-Transaction或是session-per-conversation这种Session和Transaction生命周期上的关系。

举一个例子:

Hibernate默认是将Session绑定到一个线程上,这样每个线程都有自己的一个独立的Session.这一点是通过ThreadLocal来实现的。这种模式同时设定了Session和Transaction之间的关系,即:Session-Per-Transcation.一个Session只有一个Transaction,并且与这个Session同生命周期.在没有begain一个Transaction时,session是不可用的。而当transaction关闭时,这个Session也一同关闭了。这是通过为Session生成一个代理类来实现的。

总之要明白:Session与其所属的上下文和Session与其生命周期内Transaction之间是两回事,要区分开来。但两者之间也是有联系。要注意它们之间微妙的关系。

2009-12-10

2009-12-10

2009-12-10

2009-12-10

2009-12-10

2009-12-10

本文转载自:http://blog.csdn.net/bluishglc/article/details/4980472

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
vs2010新建MFC工程直接编译失败

1>------ Rebuild All started: Project: wqwq, Configuration: Debug Win32 ------ 1>Build started 2014/4/13 13:13:22. 1>_PrepareForClean: 1> Deleting file "Debugwqwq.lastbuildstate......

MEngm
2014/04/13
1K
2
A Note on Spring Boot - 3

Download spring-boot-example.zip - 7.5 KB Introduction This is a note on Spring Boot and Hibernate. Background This is a note on Spring Boot and Hibernate. The attached Maven pr......

Dr. Song Li
2017/12/18
0
0
A Note on Hibernate - One To Many

Download hibernate-test.zip - 8.4 KB Introduction This is a note on Hibernate one to many mappings. Background This is a note on Hibernate one to many mappings. Before working o......

Dr. Song Li
2017/12/24
0
0
spring mvc 导入外部包后,启动TOMCAT报错

初学spring mvc,想做个简单的demo——用户登录功能。 分别建立了daily-note-hibernatedao和dail-web两个项目。 daily-note-hibernatedao用于对数据库的访问及CRUD操作。 dail-web为spring mv...

彩云小斯
2016/03/04
642
1
着实着急呀。。。看看呀!各位大神

2016-6-2 22:29:30 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet action threw exception line 1:74: unexpected token: 92 at org.hiberna......

放空
2016/06/02
309
4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring 事件

ContextRefreshedEvent Event raised when an {@code ApplicationContext} gets initialized or refreshed. ContextClosedEvent Event raised when an {@code ApplicationContext} gets clos......

Canaan_
31分钟前
1
0
leetcode两数之和

leetcode中求两数之和解决方法 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 给定 nums = [2, 7, 11, ...

lar555
47分钟前
1
0
js实现限制网页内容复制

转载 在我们做的网页发到网上后,如果访客看到比较喜欢的内容,只要复制就可以变为自己的,自己辛辛苦苦弄半天还不及人家的一下复制,有时为了只让访客看到,而不能让它们复制内容,就用Jav...

lc_comeon
51分钟前
1
0
jenkins将spring boot项目发布到阿里云镜像中

1、spring boot项目 1.1 pom.xml配置 <artifactId>xxx-docker</artifactId><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.......

xixingzhe
今天
0
0
qsv格式可以在电视上播放吗

  大家都知道qsv格式是爱奇艺的独家缓存格式,是加密的,一般的播放器是无法播放的,只能在爱奇艺播放器上播放,如果想要在电视上播放,就必须要安装爱奇艺播放器,比较麻烦。其实还有一种...

萤火的萤火
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部