数据持久层(06)_PersistentCriteria 类层次

原创 2004年07月15日 18:25:00
 
  • 类图:

持久层设计_PersistentCriteria 类层次

  • PersistentCriteria 类层次
    • 概述:PersistentObject封装了使单个对象持久化的行为。而PersistentCriterai 类层次支持一次保存、获取、删除多个对象。
    • 方法:
      • addSelectXXX():PersistentCriteria类的addSelectXXX()是一组方法,XXX可代表:GreaterThan,LitterThan,EqualTo等。
        • 两个参数:
          • 一个参数是类的属性
          • 另一个是值。
        • 返回:这个方法返回对应的 SelectionCriteria的子类实例。
        • 例如:addSelectGreaterThan()创建一个GreaterThanCriteria实例而 addSelectEqualTo()创建一个EqualToCriteria实例。
      • addOrCriteria()方法:它以一个PeristentCriteria的实例作为参数并有郊使用“或”逻辑将两个条件连在一起。
    • 属性:
      • forClass:它指示了被处理的对象的类型,例如可能是Employee或者Invoice对象。
      • isSubclassesIncluded:批示了是否条件也应用于 forClass 子类。
    • 总结:这两个属性有效的支持了继承中的多态性。
    • 例如:这两个属性的组合以及 addSelectXXX()方法可以使我们对满足特定条件的Person对象及 其子类的实例进行操作。如:名字开头为“J”并且出生在1996年6月14日到1997年8月14日之间的Person对象和它的子类的实例
  • SelectionCriteria类层次:
    • 概述:封装了用来比较指定值与某个属性的行为。每种比较类型(等于、大于、小于、小于等于、大于等于)有一个子 类。注意:它的实例通过使用“与”逻辑与其它实例关联。(“或”逻辑由orCirteria()方法实现)
  • RetrieveCriteria类
    • 概述:这个类用于获持久数据。它支持获取零个或多个对象、代理对象、记录或者一个游标。为什么这样就不细说了。
  • DeleteCriteria类:
    • 概述:支持一次删除多个对象。同时支持标识删除(makeForDeletion())和直接删除(permanentlyDelete())。注意:DeleteCriteria 类的实例创建一个UpdateCriteria的实例,更新对应表的deletionDateTime或者isDeleted字段。
  • UpdateCriteria类:
    • 概述:支持同时更新一组对象的一个或多个属性。
    • 方法:
      • Perform()方法:这个方法首先通过RetrieveCriteria的实例获得要被更新的对象,然后循环将它们的属性赋予新值,最后发送一个save() 消息给每个对象来钭对象写回持久机制。

数据持久化层和DAO层的关系

DAO =Data Access Objects,也就是所谓的数据访问对象,这个对象是和数据打交道的,当然是持久化层的。目前通用的是dao是数据层,也可以说为持久化层,service是逻辑层,也可以叫...
  • woshiliulei0
  • woshiliulei0
  • 2016年02月18日 15:10
  • 2336

JAVA三层架构,持久层,业务层,表现层的理解

SSH:Struts(表示层 )+Spring(业务层)+Hibernate(持久层)Struts: Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。在 MVC框架 中,...
  • ljf_study
  • ljf_study
  • 2017年03月21日 16:22
  • 7317

Hibernate持久层(原理、基本流程)

Hibernate持久层 Java中对象的持久化有3种方式: (1)序列化对象,存到格式化的文本中; (2)将对象持久化到XML文档中; (3)持久到数据库中,一般指关系型数据库。   以...
  • Songjs19931206
  • Songjs19931206
  • 2015年08月16日 12:28
  • 1741

资料\基于J2EE的客运信息管理系统数据持久层的JDBC解决方案.pdf

  • 2009年03月03日 17:26
  • 922KB
  • 下载

利用反射实现的持久层工具类(学习)

  • 2016年04月12日 19:49
  • 12KB
  • 下载

数据持久层(DAO)通用API的实现

在学习和工作的实践过程中,我发现很多功能是比较通用的,我们可以把他们抽象成API接口。 在Web开发中,一般都分3层。 Controller/Action 控制层,Service/Business ...
  • FansUnion
  • FansUnion
  • 2013年08月14日 22:19
  • 3033

Spring与数据持久层

数据库持久层概述 将数据库(内存中的变量或对象)保持到储存介质中额过程就是数据持久化。Java持久化技术主要有两种方式: 1,java对象的序列化:(少量数据持久化) 2.java对象保存到关系数据库...
  • qq_17129249
  • qq_17129249
  • 2014年12月16日 10:43
  • 192

基于 Spring 和 iBATIS 的动态可更新多数据源持久层

http://www.ibm.com/developerworks/cn/java/j-lo-dynamicpersist/ 当开发拥有多重数据源的项目时,常常会遇到这样一种需求...
  • hhhuuu2020
  • hhhuuu2020
  • 2016年04月04日 19:28
  • 642

IOS开发指南读书笔记12(IOS数据持久层的建立4)

IOS开发指南读书笔记12(IOS数据持久层的建立4)  建立CoreData需要首先建立一个模型文件 生成的后缀是xcdatamodeid,但是编译之后在沙盒的momd文件 首先A...
  • hahahakonghee
  • hahahakonghee
  • 2015年11月18日 11:42
  • 595

关于手机APP的分层架构-数据持久层

数据持久层框架备忘录(手机平台)   作为智能手机,无论是在MMI应用程序里,还是在PIM应用程序中,数据的查询、排序、存储功能的代码都占很大比例。所以说,数据持久层框架是一个基础性的架构,它的设...
  • Lucklyric
  • Lucklyric
  • 2014年12月06日 08:55
  • 428
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据持久层(06)_PersistentCriteria 类层次
举报原因:
原因补充:

(最多只允许输入30个字)