文档章节

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
海淀
程序员
私信 提问
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
664
1
Hibernate Search 5.10.0.CR1 发布,数据检索框架

Hibernate Search 5.10.0.CR1 已发布,这是 5.10 分支的首个候选版。此版本主要包括升级到 Hibernate ORM 5.3.0.CR2,也增加了一些错误修复和改进: 自 Hibernate Search 5.10.0.Beta1 以来的...

局长
2018/05/09
322
0
Spring 3 MVC and JSR303 @Valid example

In Spring 3, you can enable “mvc:annotation-driven” to support JSR303 bean validation via annotation, if any JSR 303 validator framework on the classpath. Note Hibernate Vali......

凯文加内特
2015/10/10
116
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 孤独到都和病毒发生了感情了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @-冰冰棒- :#今日歌曲推荐# 逃跑计划《一万次悲伤 (Live)》 《一万次悲伤 (Live)》- 逃跑计划 手机党少年们想听歌,请使劲儿戳(这里) 现在...

小小编辑
58分钟前
36
5
test

//// main.c// Test//// Created by 吕颖 on 2019/1/16.// Copyright © 2019年 carmen. All rights reserved.//#include <stdio.h>#include <stdlib.h>#include <t......

carmen-ly
今天
3
0
Android webview热门组件agentweb:4.0.2无法自适应的问题

Android webview热门组件agentweb:4.0.2无法自适应的问题 //设置自适应屏幕,两者合用mAgentWeb.getAgentWebSettings().getWebSettings().setUseWideViewPort(true); //将图片调整到适合w...

Gemini-Lin
今天
5
0
如何维护一个自己的 golang doc 服务

本文内容是如何维护一个golang 在线的doc 服务。 1 什么是godoc ? godoc 是 golang 官方提供的文档生成工具, 2 为什么要有godoc ? 我们经常遇到一个问题,就是代码和文档不一致,线上代码版...

鼎铭
今天
5
0
js中的对象创建的模式以及继承模式

对象创建模式: 工厂模式 构造函数模式 原型模式 继承模式 原型式继承 寄生式继承 构造函数 原型式和构造函数的组合式(缺点:运行两次超类类函数,积累函数的属性被挂载在原型对象上和实例对...

莫西摩西
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部