当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 第四章 PersistenceCapable 在JDO里,所
 

 

 ·kodojdo指南第六章    »显示摘要«
    摘要: 第六章 jdohelper 上图列出了jdohelper最常用的方法。详细的api信息请参考类的javadoc文档 应用程序使用jdohelper进行三类操作:能持久化操作,生存期操作和创建persistencemanagerfactory 。我们逐一研究。 6.1 能持久化操作 前两个操作makedirty和getobjectid我们已经见过。假设一个能持久化对象和字段名被修改, ......
 ·3类inner class    »显示摘要«
    摘要:1、一般的inner classclass aaaa{ class innerclass { // write codes here }}2、method local inner classlocal class 是定义在method內的class,其 scope 在该method 內3、anonymous inner class 一种形式:return new destination{ //in......


kodojdo指南第四章

第四章 persistencecapable

4.1 jdo增强者 【程序编程相关:DropDownList 控件 Data

  在jdo里,所有自定义的持久类都必须实现javax.jdo.spi.persistencecapable接口.这个接口包含了一些复杂的方法,使jdo能够管理类实例的持久性字段.幸运的是,你不必亲自实现这个接口,实际上,编写一个持久类与编写普通的类没有分别.没有特别的类需要继承,不必使用特殊的字段类型,不必写特殊的方法.这也是jdo使持久性对开发者来说完全"透明"的重要体现. 【推荐阅读:两个delphi下遍历指定目录下指定类型

  为使你免受错综复杂的persistencecapable 接口的困扰,许多jdo的实现品提供了一个名为"增强者"的工具.增强者是一个这样的工具:你编写持久性的类,然后增强者会自动增加代码到你的类里.虽然一些厂商会用源代码增强者修改你的java代码,但是通常来说,增强者主要在.class文件上起作用.java编译器编译你的文件,生成字节代码,增强者处理这些代码.增加一些必要的字段与方法来实现persistencecapable 接口.修改后的java字节代码按照堆栈顺序完美的保留,并且完全兼容于java调试器.所以增强的操作并不影响调试. 【扩展信息:TAdoQuery导出数据到Excel

 

  上图描述了一个持久性类的编译过程.典型的jdo实现品会包含一个ant的增强task,所以你可以把增强作用作为编译的一部分,自动进行.

  所有jdo增强者都要求做到彼此之间字节兼容.这意味着经过"增强"的类不但能用于增强这个类的jdo实现品,而且能用于所有其他jdo实现品.字节兼容的特性要求确保你在包装你的持久类之后,你可以分发给其他开发人员使用,而不用担心他们使用的是哪个厂商提供的jdo实现品.这也意味着你选择某个厂商的jdo之后,不必重新编译你的持久类.

4.2 比较"能持久"的与"该持久的"

  已增强的实现了persistencecapable 接口的类可以归为"能持久的".直接访问能持久类的public或者protected持久性字段的类称为"该持久的".该持久的类也必须"增强"--每次当该持久的类直接访问能持久类的持久字段的时候,增强者增加些代码,通知jdo实现品正被访问的字段将要被读或者写.这可以使jdo实现品能根据数据的需要同步字段的值.除非该持久类也是能持久类,否则增强者不会增加代码使之实现persistencecapable 接口

  通常,除了有利于封装状态的标准参数,最好使你所有的持久字段都是public,如果是protected,则保证他们只被持久的子类访问.这样可以避免这种情况:当非持久类访问能持久类的字段时,到底哪个非持久类应该被增强为"该持久的".

4.3. 持久类的限制


...   下一页
 ·kodojdo指南第九章    »显示摘要«
    摘要:第九章 事务 事务用来保证事务完整性.它把操作集中到一个工作组,这个组里的操作要么全部成功,要么全部失败.事务有几个特性 1)原子性:原子性指事务的要么全部成功-要么全部失败的属性.要么事务中的每个更新数据的操作都成功完成,要么全部失败.而不管数据在数据库中的原始状态是怎样.事务不可能部分地成功. 2)一致性.每个事务使数据库的数据从一种连贯状态到另一种连贯状态. 3)隔离性.事务彼此......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE