`
xsjleilei
  • 浏览: 13661 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
阅读更多
1.谈谈hibernate的延迟加载和openSessionInView
答:延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合

的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。
OpenSessionInView模式是Spring提供的一个针对Hibernate的一个支持类,其主要意思是在发起一个页面请求时打开 Hibernate的Session,一直保持这个Session,直到这个请求结束。

openSessionInView有两种实现方式:一种是过滤器,还有一种是拦截器。
大概过程是:一次请求->打开session->业务处理->页面渲染->关闭session->响应

2.session.load()和session.get()的区别
答:
(1)如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObejctNotFoundException。
(2)Load方法可返回实体的代理类类型
(3)Load方法可以充分利用内部缓存和二级缓存中现有数据,而get方法则仅仅在内部缓存中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用SQL完成数据读取。

3.spring的事务有几种方式?谈谈spring事务的隔离级别和传播行为。
答:声明事务和编程事务
隔离级别:
- DEFAULT使用数据库默认的隔离级别
- READ_UNCOMMITTED会出现脏读,不可重复读和幻影读问题
- READ_COMMITTED会出现重复读和幻影读
- REPEATABLE_READ会出现幻影读
- SERIALIZABLE最安全,但是代价最大,性能影响极其严重
和传播行:
- REQUIRED存在事务就融入该事务,不存在就创建事务
- SUPPORTS存在事务就融入事务,不存在则不创建事务
- MANDATORY存在事务则融入该事务,不存在,抛异常
- REQUIRES_NEW总是创建新事务
- NOT_SUPPORTED存在事务则挂起,一直执行非事务操作
- NEVER总是执行非事务,如果当前存在事务则抛异常
- NESTED嵌入式事务

4.谈谈对Struts的流程的理解。
答:Request->ActionServlet->如果不存在相应的Action则否则返回error,流程结束->创建ActionForm->进行validatge校验,如果没有通过校验则返回error->创建Action->执行Action

的execute方法,并返回ActionForword对象->return respose->结束

5.谈谈ThreadLocal在spring框架中的作用
答:在管理request作用域的Bean、事务管理、任务调度、AOP等模块起着举足轻重的作用。(可参考个人博客上相关内容)

6.以前项目中有没有用到spring的AOP?具体用来做什么?
答:事务管理、日志、权限管理等。

7.谈谈对struts的MVC的理解。
答:view部分:由JSP页面充当,发起请求和等待请求处理后结果返回都通过JSP页面呈现给用户,struts提供了丰富的标签库,可以最大限度地减少脚本的使用。
controller部分:struts的控制器是分成2个部分:系统核心控制器、业务逻辑控制器。系统核心控制器为ActionServlet,负责拦截所有HTTP请求,然后根据用户请求决定是否需要调用业务逻辑

控制器,如果需要则将请求转发给Action处理(继承Action类)。
model部分:由ActionForm和javabean组成。javabean封装了底层的业务逻辑。

8.Action是不是线程安全的?如果不是 有什么方式可以保证Action的线程安全?如果是,说明原因
答:struts1不是,struts2是;
声明局部变量,或者扩展RequestProcessor,让每次都创建一个Action,或者在spring中用scope="prototype"来管理.

9.Hibernate有哪几种查询数据的方式
答:hql查询,sql查询,条件查询

10.Hibernate中的update()和saveOrUpdate()的区别.
答:摘自hibernate说明文档:
saveOrUpdate()做下面的事:
如果对象已经在本session中持久化了,不做任何事
如果另一个与本session关联的对象拥有相同的持久化标识(identifier),抛出一个异常
如果对象没有持久化标识(identifier)属性,对其调用save()
如果对象的持久标识(identifier)表明其是一个新实例化的对象,对其调用save()
如果对象是附带版本信息的(通过 <version>或 <timestamp>) 并且版本属性的值表明其是一个新实例化的对象,save()它。
否则update() 这个对象

11.Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法,并结合事务管理。
答:getHiberanteTemplate里面提供了save,update,delete,find等方法。
简单说一个:如果配置了声明式事务,当执行getHibernateTemplate的各种方法的时候,事务会自动被加载;如果没有配置事务,那么以上操作不会真正的被同步到数据库,除非配置了

hibernate的autocommit=true。



分享到:
评论
3 楼 xsjleilei 2009-03-02  
我开张啦,
祝看贴的哥们salary翻翻!
周一
2 楼 xsjleilei 2009-03-01  
我开张啦,
祝看贴的哥们salary翻翻!···
1 楼 xsjleilei 2009-03-01  
我开张啦,
祝看贴的哥们salary翻翻!

相关推荐

    ssh开发中遇到的一些小问题的解决办法

    ssh开发中遇到的一些小问题的解决办法,或许有能帮到你的也说不定

    ssh整合小项目.rar

    这个小程序是spring springmvc hibernate 整合后的小项目,大家放心下载 有什么问题可以私信给我

    SSH,The Secure Shell:The Definitive Guide(2nd)

    ·SSH与Kerberos、PGP、PAM等其他安全产品的集成 ·目前流行的SSH实现中的一些没有文档资料记载的行为 ·SSH系统的安装与维护 ·疑难解答:既包括常见的问题,也包括不是很常见的问题。 不论你的通信是在一个很小的...

    SSH Secure Shell.rar Windows小巧客户端

    SSH 为 Secure Shell 的...利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。

    github帐号添加SSH keys

    该文档适用于小白使用,讲述了在遇到问题时,如何添加SSH key。

    ssh整合小例子

    在初学ssh整合的时候我们都会遇到各种各样的问题,有时候会让我们很苦恼,如果有个例子指引我们一下会感觉豁然开朗,会轻松愉快的掌握ssh整合的知识

    Maven搭建SSH框架Demo

    Maven搭建SSH框架Demo,Maven是可以解决包依赖问题,在搭建SSH(struts2,spring3,hibernate)框架时不用考虑包的依赖问题,提高了开发效率,该demo已经完成框架的搭建,可以直接拿来使用

    解决ssh远程登陆linux显示-bash-4.1$的问题

    以上就是小编为大家带来的解决ssh远程登陆linux显示-bash-4.1$的问题全部内容了,希望大家多多支持软件开发网~ 您可能感兴趣的文章:浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释php $_SERVER windows系统与linux...

    使用VSCode+SSH远程连接主机/服务器,从而解决多人共用一台主机,然而只有一套显示设备的不足

    做深度学习的同学都知道,显卡资源还是比较昂贵的...这时,VSCode+SSH就可以在一定程度上解决这个问题。 总的来说,本文档手把手教你如何脱离向日葵、TeamViewer等远程软件,实现多人分别在自己的电脑上同时控制主机。

    解决:SSH Secure Shell Client 软件在WIN10下运行时候窗口不兼容变形

    该文件不涉及版权,只是使其合适在WIN10下...SSH Secure Shell Client 软件在WIN10下运行时候窗口不兼容变形,导致设置的OK和cancel按键不出现,无法操作使用的问题。本资源里提供对应版本覆盖即可如XP系统下的使用。

    基于SSH架构的在线答疑系统.doc

    3.3.4问题表(dayi_problem) 19 3.3.5答案表(dayi_answer) 20 3.3.6公告表(dayi_notice) 20 3.4 本章小结 20 第四章 框架与系统整合的实现 21 4.1系统结构设计 21 4.2 POJO层(数据持久化对象层)的实现 22 4.4.1编写...

    基于SSH的音乐网上购买的系统

    一个web开发技术的课程系统,用了SSH 三大框架中的struct和spring。系统运行时,可能出现小问题

    易懂的ssh2项目实例(有一个小问题没解决)

    结构清晰,内容简单易懂,代码非常规范,适用于初学者。

    SSH架构源码样例借鉴

    近段时间,为构建SSH架构的小系统,本人大量参考网上同仁们开源的SSH项目样例。希望借鉴完善的SSH框架,但在下载后,发现很多开源出的 SSH项目组搭建运行过程中,有很多问题,比如没有Maven管理导致第三方jar文件...

    SSH 数据查询和显示及答案

    这是一个SSH集成框架下的数据查询和显示的一个小功能。 在你用的时候可能遇到导包不正确的问题;只需要重新导下包就了。 还有,压缩包里还有一个登陆的例子,可能参考下。

    putty telnet、rlogin和ssh客户端 windows平台

     ◆ 体积很小,仅364KB (0.54 beta版本);  ◆ 操作简单,所有的操作都在一个控制面板中实现。  使用简介:  把Putty下载到机器上,双击putty.exe,就出现如图1的配置界面。选择“Session”,在“Host Name  ...

    基于SSH的J2EE开发平台研究与应用

    然后提出如何将Struts、Spring和Hibernate合理的整合在一起,搭建一个轻量的通用的具有开发周期短、开发成本低、松耦合、易于扩展和迁移等优点的J2EE开发平台SSH,以此来指导中小企业信息系统的开发。并在这个平台的...

    ssh2实现登录业务(源代码及数据库都有)

    这是一个简单的ssh2,框架搭建的示例。 =====================================...如果不能成功搭建环境或是搭建过程出现问题,本人会尽数解答! 联系人:枫月子 QQ:346282626 人生格言:java的路上,让我们一路狂飙。

    基于Servlet、SSH、SSM、SpringBoot等流行技术实现的JavaWeb项目

    Hello,在这里,我将为您分享流行技术实现的JavaWeb源码(包括但不局限于Servlet、SSH、SSM、SpringBoot)及相关技术的讲解。 项目说明 目前这个项目只是初创阶段,很多细节还没有确定。但可以确定,这个仓库的目...

    邮件管理系统ssh项目

    基于ssh的邮件管理系统,由于项目比较大,无法上传,故将项目中所需.jar去除了,具体信息请看readme.txt,项目经调试完全可运行,如有需要请联系

Global site tag (gtag.js) - Google Analytics