MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » 【分享面试题二】Spring,hibernate,struts的面试笔

【分享面试题二】Spring,hibernate,struts的面试笔试题(含答案)解决办法(5)

www.MyException.Cn  网友分享于:2015-08-27  浏览:306次

QueryParameters,通过CriteriaJoinWalker把Criteria变成sql,然后
执行查询

11      ActionQueue
当调用session对实体进行insert,update,delete的时候,只是会创建相应
的action放入ActionQueue,然后在session.flush()的时候才会真正操作
数据库
ActionQueue的执行顺序:
executeActions( insertions );executeActions( updates );executeActions( collectionRemovals );executeActions( collectionUpdates );executeActions( collectionCreations );executeActions( deletions );
 
12       Tuplizer
用于根据entityname实例化出对象,以及set/get property
hibernate内置的有PojoEntityTuplizer,Dom4jEntityTuplizer 

DAS是在hibernate基础之上实现了DataObject的持久化,支持DataObject对象之间的关联,延迟加载,级联,控制反转,不支持DataObject的继承


1.新实现了一个SDOEntityTuplizer
支持创建DataObject,以及set/get DataObject的属性
SDOEntityTuplizer实现抽象类中规定的如下方法

SDOEntityTuplizer类的buildInstantiator方法用来根据mapping信息来为相应的实体建立不同的构造器,我们用SDOEntityInstantiator来实现SDO的构造器:

2其中SDOComponentInstantiator是用来当实体有复合主键用于实例化表示主键的类

3PropertyAccessor是Hibernate中定义的一个接口,用来表达在访问mapping的实体对象的属性的时候使用的“属性访问器”。它有两个相关的接口:Getter接口和Setter接口。
DASPropertyAccessor的内部结构如下图所示:
其中getGetter方法和getSetter方法是PropertyAccessor接口定的规格。DASGetter实现Getter接口,DASSetter类实现Setter接口。 

4  自定义type,支持blob,clob的存储
BlobFileType:从一个文件路径读取文件存入数据库blob字段.从数据库读取
blob字段,生成文件放在临时目录,返回路径
BlobByteArrayType:把一个byte[]数组存入blob字段.从数据库读取blob
字段放入byte[]
ClobFileType:从一个文件路径读取文件存入数据库clob字段.从数据库读取
clob字段,生成文件放在临时目录,返回路径
ClobStringType:把一个String存入blob字段.从数据库读取blob
字段放入String

5对查询实体的支持 
增加一个查询实体定义文件.dbquery. 因为查询实体没有唯一标识,所以默认的
id的是"$queryEntityId$".用户也可以自己指定一个列做唯一标识.
在Loader.prepareQueryStatement()里增加转换带查询实体的Sql.
SelectFragment.addColumn() 做了判断,如果列名是"$queryEntityId$",查询的column就替换成'queryEntityId'常量.
在Loader.getRow() 增加判断如果key.getIdentifier()是
queryEntityId的话,则不做检查,看内存是否存在.
AbstractEntityPersister.getDatabaseSnapshot()里修改生成的查询
语句,如果有QueryEntity,则用定义的sql替换QueryEntity 








------解决方案--------------------
学习了
------解决方案--------------------
已经一年多没用SSH了 温故一下
------解决方案--------------------
谢谢了,希望多给一些关于spring的面试题
------解决方案--------------------
学习
------解决方案--------------------
好东西哦,谢谢了
------解决方案--------------------
刚开始学习最后一个,学习了。。。。
------解决方案--------------------
太经典了,正在找这些!
good——luck!
------解决方案--------------------
好东西, 不错。。
------解决方案--------------------
学习一下
------解决方案--------------------
对Hibernate又多了些理解,支持一下:)
------解决方案--------------------
为什么要用hibernate:把coder从繁重与重复的jdbc代码中解放出来。

为什么要用spring:coder不用再理会bean的创建

为什么要用struts:它有良好的开发模式-MVC 业务,逻辑,数据统统分开,解耦较好(当然,即使你用了, 如果不小心,还是会写出耦合很高的代码)。


这是我个人的一点观点,偷偷的说一下。。。。
------解决方案--------------------
曾经那么地渴望冰雪覆盖着大地,我伫立里洁白的冰雪之中,任由飘落的雪花吻着我的头发、额头、脸颊……就这样,我沉醉在一片白茫茫中。
  这是梦想,更是奢想。在我居住的地方,去年没有下雪,前年也仅飘了一点
------解决方案--------------------
lz有心人
------解决方案--------------------
谢谢分享!
------解决方案--------------------

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有