hibernate annoation (九 cascading)

1,cascade=CascadeType.PERSIST

当调用session的session.persist(object)时会产生级联保存 (不是save方法或者其他)

2,cascade=CascadeType.MERGE

当调用session的session.merge(object)时会产生级联合并 如果内存没有此对象表现为级联保存

3,cascade=CascadeType.REMOVE

当调用session的session.delete时会产生级联删除 需要关联方和被关联的具有id(先get)

4,cascade=CascadeType.REFRESH (底层数据库和内存不一致是使用表现为异常Found two representations of same collection)

当调用session的session.refresh时会产生级查询 从而达到更新数据库的目的

5,cascade=CascadeType.ALL

以上所有

时间: 2024-09-17 04:35:18

hibernate annoation (九 cascading)的相关文章

hibernate annoation(十一 缓存Ehcache 采用annoation)

从hibernate2.1开始ehcache已经作为hibernate的默认缓存方案(二级缓存方案 sessionfactory级别), 在项目中有针对性的使用缓存将对性能的提升右很大的帮助. 要使用 Ehcache:需要一下步骤 一,classpath添加相应的jar(ehcache,commons-logging) 二,然后在hibernate.cfg.xml中配置 <property name="cache.provider_class">org.hibernate.

hibernate annoation (四 lob)

hiberante sql映射对应 Java数据类型 Hibernate数据类型 标准SQL数据类型 (PS:对于不同的DB可能有所差异) byte.java.lang.Byte byte TINYINT short.java.lang.Short short SMALLINT int.java.lang.Integer integer INGEGER long.java.lang.Long long BIGINT float.java.lang.Float float FLOAT double

hibernate annoation (二 创建表)

为了追踪hibernate的信息 <property name="hibernate.show_sql">true</property> 新建User类: @Entity @Table(name="E_USER",uniqueConstraints={ @UniqueConstraint(columnNames={"yahoo"}) }) public class User { private int id; privat

hibernate annoation (一 加载)

一,配置文件加载 1,Configuration 如果不是annoation则可以使用Configuration configuration = new Configuration(): 使用annoation则可以使用Configuration configuration = new AnnotationConfiguration(); 2,加载,使用onfiguration的configure方法根据方法参数可以有一下几种加载方式: (1)configure(): 吃方法会去classpat

hibernate annoation (七 继承映射)

Table per Class Strategy: the <union-class> element in Hibernate Single Table per Class Hierarchy Strategy: the <subclass> element in Hibernate Joined Subclass Strategy: the <joined-subclass> element in Hibernate ejb支持三种映射关系 1,每个类一张表 (hi

hibernate annoation (三 id生成器)

id生成: hibernate内不可使用的id生成器可见代码 使用@GeneratedValue 1 正对不同的数据库可以同时使用 @Id @GeneratedValue(strategy = GenerationType.AUTO) 2 针对mysql @Id @GeneratedValue(strategy = GenerationType.IDENTITY) 3 针对oracle @Id @GeneratedValue(strategy = GenerationType.SEQUENCE,

hibernate annoation (十 映射查询)

在类级别上配置: Java代码 @Entity @NamedQueries(value = { @NamedQuery(name="query1",query="select a from A a") }) 此查询是sessionfactory级别的也就是在创建sessionfactory时候已经处于内存中了 可以在任何地方使用. 调用: Java代码 Query q = session.getNamedQuery("query1"); 可同时配

hibernate annoation (八 关联映射)

onetoone:单向 1,主键关联: 在关联放使用@OneToOne sql语句:(类代码见同前面的代码) Java代码 create table A (id integer not null auto_increment, aname varchar(255), b_id integer, primary key (id)) create table B (id integer not null auto_increment, bname varchar(255), primary key

hibernate annoation (六 复合主键)

主键类:定义为@Embeddable @Embeddable public class F { private int id; private int id2; public int getId() { return id; } public void setId(int id) { this.id = id; } public int getId2() { return id2; } public void setId2(int id2) { this.id2 = id2; } } 持久化类: