文档章节

NOTE:Hibernate-2010

猪刚烈
 猪刚烈
发布于 2014/10/12 11:40
字数 670
阅读 11
收藏 0
点赞 0
评论 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

© 著作权归作者所有

共有 人打赏支持
猪刚烈
粉丝 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 ⋅ 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

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

spring mvc 导入外部包后,启动TOMCAT报错

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

彩云小斯 ⋅ 2016/03/04 ⋅ 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 ⋅ 4

spring data jpa 加sqlserver分页查询的时候出现'@P0' 附近有语法错误

日志:稍微有点乱 Hibernate: select TOP ? salesgoods0.Sequence as Sequence124, salesgoods0.createTime as createTi224, salesgoods0.GQDJ as GQDJ324, salesgoods0.NOTE as NOTE424, sa......

youaadd ⋅ 2016/12/12 ⋅ 2

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 以来的...

局长 ⋅ 05/09 ⋅ 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 ⋅ 0

问一下Hibernate4的问题!

Spring 3中怎么对Hibernate4的支持没有HibernateDaoSupport/HibernateTemplate . 用支持Hibernate3的支持出错了... org.springframework.orm-3.1.0.RELEASE.jarorgspringframeworkormhiberna......

PYZWORLD ⋅ 2012/10/04 ⋅ 4

Hibernate嵌套事务nested有用过的吗??

项目中需要使用到嵌套事务,有哪位大用org.springframework.orm.hibernate3.HibernateTransactionManager这个事务管理器做过嵌套事务(nested)的吗?? 或者是有其他方式做过嵌套事务方面的业务...

yaolin ⋅ 2016/11/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

笔试题之Java基础部分【简】【一】

基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他 1.length、length()和size() length针对...

anlve ⋅ 30分钟前 ⋅ 2

table eg

user_id user_name full_name 1 zhangsan 张三 2 lisi 李四 `` ™ [========] 2018-06-18 09:42:06 星期一½ gdsgagagagdsgasgagadsgdasgagsa...

qwfys ⋅ 55分钟前 ⋅ 0

一个有趣的Java问题

先来看看源码: public class TestDemo { public static void main(String[] args) { Integer a = 10; Integer b = 20; swap(a, b); System.out......

linxyz ⋅ 59分钟前 ⋅ 0

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 今天 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 8

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部