SSH面试题总结:.docxSSH面试题总结:
题目1: Hibernate ZE作原理及为什么要用?
原理:
hibernate,通过对jdbc进行封装,对java类和 关系数据库进行mapping,实现了对关系数据库的面向对 象方式的操作,改变了传统的jdb好程序
题目10:为什么要用spring?
Spring是一个轻量级的I0C和A0P框架。
I0C(控制反转)意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称 为控制反转
A0P (面向切面),它将那些影响多个类的行为封装到可重用的模块中,面向对象是把问题 从同类事物中抽象出来,面向切面是把问题从不同类问题中抽象出来。
hibernate 中 get ()与 load ()区别
请注意如果没有匹配的数据库记录,load()方法可能抛出无法恢复的异常(unrecoverable exception)。如果类的映射使用了代理(proxy), load。方法会返回一个未初始化的代理, 直到你调用该代理的某方法时才会去访问数据库。若你希望在某对象中创建一个指向另一个 对象的关联,又不想在从数据库中装载该对象时同时装载相关联的那个对象,那么这种操作 方式就用得上的了。如果为相应类映射关系设置了 batch-size,那么使用这种操作方式允 许多个对象被一批装载(因为返回的是代理,无需从数据库中抓取所有对象的数据)。如果 你不确定是否有匹配的行存在,应该使用get()方法,它会立刻访问数据库,如果没有对应 的行,会返回nullo
[Hibernate题目]判断题:使用save/persist —个对象时,便立即向数据库发送执 彳丁 insert sql 语句?
persist把一个瞬态的实例持久化,但是并〃不保证〃标识符被立刻填入到持久 化实例中,标识符的填入可能被推迟到flush的时间。
persist”保证〃当它在一个transaction外部被调用的时候并不触发一个Sql Insert,这个功能是很有用的。
save会立即执行Sql insert,不管是不是在transaction内部还是外部.
[Hibernate题目]:指出一下代码哪里错误使用了 Hibernateo
背景简介:Board是一个实体类,id是它的主键,name和description是他的两个属性。
BoardDao是Board实体的数据访问对象,BoardBo是业务对象,用户提交变更Board对 象的请求,由 Struts 的 BoardAction 接收,调用 BoardBo 处理。() 用于返回当前请求的Session对象。
//数据访问层代码:BoardDao. java
public Board loadBoard(Long id) {
Session session = HibernateUtil. currentSession();
return session, load (Board, class, id);
}
public void updateBoard(Board board) {
Session session = HibernateUtil. currentSession();
session, update
SSH面试题总结: 来自淘豆网www.taodocs.com转载请标明出处.