1.如果在"one"方中(如部门)写有Set属性,但是没有在映射文件中配置,那么,在获取指定部门下的所有员工时,不会报错,但是,Set内的元素个数为0。输出为"[]"。

2.在映射文件里配置<many-to-one  />标签时(写在many方),同时也配置了本实体类的该外键属性。

要设置的属性与其他一般的<property ></property>相比 -- 都有name、column属性,

但用class属性代替了type属性,且class属性值是本实体类要引用的另一实体类的类名。

3.在映射文件里配置<set name="属性名"></set>标签时(写在one方),同时也配置了本实体类的该 Set类型的属性。

其下有两个子标签,<key column="many方的外键列名"/>  (表示根据员工表中的部门ID得到相应的Set集合)和<one-to-many class="包名.many的一方类名" />

4.在映射文件里,标签的column属性或column标签的name属性,的值,都是指表的列名。

  在映射文件里,除了column标签的name属性,大多数标签的name属性值都是指实体类的属性名。

5.类似于foreach的集合元素遍历

  for(类型 临时变量名 :  集合或数组)

  {

}

6.<set>标签的两个重要属性:

1) inverse属性,用于标识双向关联中的被动方一端。(默认为false)

       非反向端用于把内存中的表示保存到数据库中。

例1:在一对多关系中,若其值为true,那么,当通过部门来删除一个员工时( <set>的cascade属性值为all),即department.getEmployees().remove(employee); 执行后员工表中该员工的departmentId 列的值将改为NULL。

       若设置其值为false,那么执行后该员工信息将没有任何改变。        

   

2) cascade属性,用于设置双方如何进行级联。可取值:

   all:当任何一方的数据发生改变时,另一方也发生改变。

   save-update:只在添加数据或修改数据时才对另一方产生影响。

   delete:只在删除数据时才对另一方产生影响。

   none:互不影响。

例1:若其值为all或delete,当删除某个部门时,员工表中所有属于该部门的员工将全部被删除。

     反之若没有级联删除,员工表中所有属于该部门的员工的departmentId列(外键)的值将被修改为NULL。

7.VO --Value Object 指不包含逻辑代码的值对象(如实体类)

8.在one方定义inverse="true"不会影响级联操作。

初学Hibernate杂乱总结的更多相关文章

  1. 初学hibernate之缓存

    一.1.Session级别缓存属于一级缓存,持久化对象保存在Session一级缓存中(一级缓存引用持久化对象地址),只要session不关闭,一级缓存就存在,缓存中对象也不会被回收: Session会 ...

  2. 初学Hibernate持久化

    hibernate三种持久化对象状态:(持久化对象:Persistent Object=POJO + hbm映射) 1.瞬时状态(临时状态或自由态):PO对象刚创建(即new)开始进入瞬时状态,此时对 ...

  3. 初学Hibernate主键生成策略

    具有业务含义的主键叫自然主键:随机生成,不具备业务含义的字段作为主键,叫代理主键. 在表与POJO类关系映射文件XXX.hbm.xml中,可通过配置id元素下generator节点的class属性指定 ...

  4. 初学Hibernate

    Hibernate 是完全ORM的,只需要对 对象 进行操作,生成底层SQL语句 优势:1.可以简化开发 2.性能好(原生的Hibernate性能很差,要使用它,需要进行优化),优化方式:一级缓存.二 ...

  5. 初学hibernate的心得体会

    在初步学习了hibernate之后,使我明白了hibernate是一个怎样的软件.hibernate是一个比较独立的框架,它不需要太多其他软件的支持.hibernate是一个开放源代码的关系映射框架, ...

  6. 初学Hibernate之Query扩展

    1.hql参数化查询,不明确值类型的用setParameter方法:明确查询结果为一条记录的用uniqueResult方法查询 注意,参数化查询中方法setString 或 setParameter如 ...

  7. 初学struts2杂乱笔记

    1.在web.xml文件里定义struts2里的一个过滤类org.apache.struts2.dispatcher.FilterDispatcher 2.在src目录下创建struts.xml文件, ...

  8. Hibernate简易原生DAO的实现

    写在最前: 初学Hibernate,在尝试把JDBC项目移植到Hibernate的过程中,碰到了不少的麻烦,最让人心烦意乱的自然是SQL语句改动造成的代码混乱.其实不难,网上的解决方案有很多, 不过. ...

  9. Hibernate 中出现 users is not mapped 问题 (转)

    今天晚上自己试着用Hibernate去搭建一个Web工程,然后去实现一个简单的登录.         通过Hibernate 做查询操作的时候总是报出这样的错:                    ...

随机推荐

  1. 38.histogram的基础用法

    主要知识点 histogram的理解及用法     histogram:他的作用是把一些连续的数据划分为一定的区间范围,使用连续的数据离散化,然后这这样离散化的数据就可以做聚合分析操作,操作过程类似于 ...

  2. check_nrpe: ERROR - could not complete SSL handshake

    情景描述: 发现的问题是 在监控端执行 ./check_nrpe -H 被监控端ip 正常返回nrpe版本 在被监控端执行 ./check_nrpe -H 监控端ip 报错 check_nrpe: E ...

  3. RestEasy 用户指南----第7章 @HeaderParam

    转载说明出处:http://blog.csdn.net/nndtdx/article/details/6870391 原文地址 http://docs.jboss.org/resteasy/docs/ ...

  4. HBase(0.96)新的Java API操作

    package test; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.ap ...

  5. [bzoj1047][HAOI2007]理想的正方形_动态规划_单调队列

    理想的正方形 bzoj-1047 HAOI-2007 题目大意:有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小. 注释:$2\le a, ...

  6. 网易杭研后台技术中心的博客 -MYSQL :OOM

    http://backend.blog.163.com/blog/#m=0&t=3&c=mysql

  7. 利用DTrace实时检测MySQl

    与我们大多数人想象的不同,DTrace用于MySQL时不需对MySQL做任何更改.DTrace最强大的“提供器”(provider,是一组可观测的探测器)是FBT(Functional Boundar ...

  8. ubuntu网卡ip的配置

    ifconfig 命令的结果 和 ip addr (或者查看具体网卡的是 ip addr show eth0) 看到的结果不一样, ip addr show eth0 可以看到eth0网卡上面的多个 ...

  9. java调用百度地图API依据地理位置中文获取经纬度

    百度地图api提供了非常多地图相关的免费接口,有利于地理位置相关的开发,百度地图api首页:http://developer.baidu.com/map/. 博主使用过依据地理依据地理位置中文获取经纬 ...

  10. jquery ajax CORS 跨域訪问 WebService

    JS代码: var word = document.getElementById("word").value; $.ajax({ type: "POST", c ...