了解下JAVA的hibernate3进修条记(二十三)|进阶特征(二)
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?4.Interceptor介面:
您能够在开启Session时载进一个自订Interceptor,这个Interceptor会在对应的举措产生之前呼唤对应的办法,办法是让您界说的Interceptor实作Interceptor介面,介面的界说以下:
Interceptor.java
packageorg.hibernate;
importjava.io.Serializable;
importjava.util.Iterator;
importorg.hibernate.type.Type;
publicinterfaceInterceptor{
//载进物件之前实行
public
booleanonLoad(Objectentity,Serializableid,Object[]state,String[]propertyNames,Type[]types)
throwsCallbackException;
//flush时,假如发明有Dirtydata,则实行此办法
public
booleanonFlushDirty(Objectentity,Serializableid,Object[]currentState,Object[]previousState,
String[]propertyNames,Type[]types)throwsCallbackException;
//贮存物件前实行
public
booleanonSave(Objectentity,Serializableid,Object[]state,String[]propertyNames,Type[]types)
throwsCallbackException;
//删除物件前实行
public
voidonDelete(Objectentity,Serializableid,Object[]state,String[]propertyNames,Type[]types)
throwsCallbackException;
//在flush前实行
publicvoidpreFlush(Iteratorentities)throwsCallbackException;
//在flush後实行
publicvoidpostFlush(Iteratorentities)throwsCallbackException;
//判别传进的物件是不是为transient形态
publicBooleanisTransient(Objectentity);
//flush前呼唤这个办法判别Dirtydata
//传回Dirtydata属性索引或null采预设举动
public
int[]findDirty(Objectentity,Serializableid,Object[]currentState,Object[]previousState,
String[]propertyNames,Type[]types);
//手动创建实体物件,假如传回null,则利用预设的建构办法创建实例
publicObjectinstantiate(StringentityName,EntityModeentityMode,Serializableid)
throwsCallbackException;
//传回实体称号
publicStringgetEntityName(Objectobject)throwsCallbackException;
//获得实体物件
publicObjectgetEntity(StringentityName,Serializableid)throwsCallbackException;
//beginTransaction()之後实行
publicvoidafterTransactionBegin(Transactiontx);
//在事件完成前实行
publicvoidbeforeTransactionCompletion(Transactiontx);
//在事件完成後实行
publicvoidafterTransactionCompletion(Transactiontx);
}
<p>
对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net网页编程也不过3,4本书足以,这就是区别。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 编程语言的风格十分接近C、C++语言。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 是一种使用者不需花费很多时间学习的语言 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
页:
[1]