文章列表
<?xml version="1.0" encoding="utf-8"?>
<!--
name:项目名称
basedir:用于计算所有其他路径的基路径。该属性可以被basedir property覆盖。
当覆盖时,该属性被忽略。如果属性和basedir property都没有设定,就使用
buildfile文件的父目录。
default:当没有指定target时使用的缺省target
-->
<pr ...
Hibernate中cascade与inverse属性详解
关于Hibernate中 cascade 与 inverse 的理解。
您买的Hibernate书是哪一本呢? 孙卫琴的精通Hibernate,还是 深入浅出Hibernate还是那本。。。
我是两本都买了,总体来说还可以,但是,有的地方讲的比较书面化,比如inverse这属性。
在学习Hibernate的过程中最不好理解的就是这两个属性了。
(我当初学习Hibernate的时候,发现网上介绍这两个属性的文章倒是不少,但是,居然有好多都是转帖。。。还有的就是 照书搬~~-_-!!!)。。。
据个例子:书上说inverse=false时 ...
Hibernate的映射关联关系和我们现实世界里事物的关联关系一样.比如在UML语言中,以客户Customer和订单Order的关系为例.一个客 户可以发送多个订单,而一个订单只能属于一个客户,这是一对多的关联,因此可以成为单向关联.如果同时包含了两两种关联关系,就成为双向关联.在关系数据 库中只有外键参照主键的关系.所以关系数据库实际上至支持一对一,或一对多的单向关系.在类于类之间的关系中.要算多对一关系和数据库中的外键参照主键关 系最匹配了.因此如果使用单向关联从订单到客户的多对一单向关联,在订单类中就要定义一个客户的属性.表示这个订单属于哪个客户,而客户类就无需定义存放 订单的集合属性了. ...
cascade几种取值:
save-update: 级联保存(load以后如果子对象发生了更新,也会级联更新). 但它不会级联删除
delete: 级联删除, 但不具备级联保存和更新
all-delete-orphan: 在解除父子关系时,自动删除不属于父对象的子对象, 也支持级联删除和级联保存更新.
all: 级联删除, 级联更新,但解除父子关系时不会自动删除子对象.
delete-orphan:删除所有和当前对象解除关联关系的对象
none:...
级联保存和级联更新总是集合在一起的, 所以没单独的save ...
Parent parent = (Parent) session.load(Parent.class, pid);
session.delete(parent);
1. 爸爸那边设置了cascade=all和inverse=true
a. delete from children
b. delete from parent
2. 爸爸那边设置了cascade=all,没有设inverse=true
a. update children set parent_id=null where parent_id=?
b. delete fro ...
本文向大家介绍Hibernate Session,可能好多人还不了解Hibernate Session,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
Hibernate的基本特征是完成面向对象的程序设计语言到关系数据库的映射,在Hibernate中使用持久化对象PO(Persistent Object)完成持久化操作,对PO的操作必须在Session管理下才能同步到数据库,但是这里的Session并非指HttpSession,可以理解为基于JDBC的Connnection,Session是Hibernate运作的中心,对象的生命周期、事务的管理、数据库的存取都与 Sessio ...