Hibernate持久化对象的生命周期及测试方法

持久化对象介绍

什么是持久化?

持久化:
摘自孙卫琴写的《精通Hibernate:Java对象持久化技术详解》:
狭义的理解: “持久化”仅仅指把域对象永久保存到数据库中;
广义的理解,“持久化”包括和数据库相关的各种操作(持久化就是将有用的数据以某种技术保存起来,将来可以再次取出来应用,数据库技术,将内存数据一文件的形式保存在永久介质中(磁盘等)都是持久化的例子.)。

持久化类(实体类)的定义

持久化类的要素:

  1. 拥有标识属性(id用来做数据库表的主键);
  2. 具有无参的构造方法;
  3. 属性不能使用final修饰;
  4. 每个属性都提供了getter、setter方法。

持久化对象的三种状态

  • 瞬时态
    使用new操作初始化的对象。与数据库没有任何关联行为,该对象在数据库中没有对应的记录。如果该对象一直不被引用,则该对象的状态将会丢失,并被垃圾回收机制(GC)回收。
  • 持久态
    对象纳入session管理,此时对象必须拥有id(通过数据库的主键生成策略生成),该对象在数据库中有对应的记录。他们的状态在事务结束时与数据库进行同步。
  • 离线态
    session关闭/对象被逐出(如内存空间不足,session就会将对象逐出),对象不再由session管理。此时对象处于离线态,该对象不能再与数据库进行同步,且该对象在数据库中已经有了对应的记录。

示例图:
在这里插入图片描述

测试实体对象的生命周期

junit简介

作用: 使普通方法能够不通过主方法自动执行。

语法:

  1. 测试类必须继承TestCase;
  2. 类名:测试类名+Test;
  3. 方法名:test+测试方法名;
  4. 测试方法中:不能有参数、不能有返回值。

**注:**高版本中能够直接使用注释@test 表明该方法能够使用junit进行测试

测试类的创建: 在目标代码的同级目录下建立测试代码,测试代码位于与目标代码同名的包中。这样做的好处是:测试代码与目标代码相互独立。

示例图:在这里插入图片描述

junit的使用:

  • 在代码中直接执行将直接执行所有测试方法;
  • 执行单个指定的方法:在左侧的目录中执行。

persistent状态的特征

  • persistent状态的对象在数据库中可能有与之匹配的数据;
  • 纳入了ses
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值