本来想回答几个的。不过spring问题不敢瞎回答。
还是算了,飘过~

解决方案 »

  1.   

    saveOrUpdate()可以进行自动判断.我一般是用saveOrUpdate().
      

  2.   

    1. action不是線程安全,所以在spring配置actions時,指定singleton="false"
    2. 這個簡單,jsp做v端,m就是form,c端就是action
    3. struts in action 上有很多
    4. IOC是最常用的,也是spring的特點,比如action里面要用service,或者別的參數,則可以將參數指定在構造方法,或者作為屬性傳遞
       aop 一般是做log記錄
    5. 3 種(本人僅知道)
    6. load 先查緩存中是否有,有就取,沒有就再訪問數據庫,get訪問數據庫
    7. 延時用在多表連接時,取該表數據,是否立即取相關聯的數據,openSessionInView 沒用過
    8. spring in action 有很多
    9. update 是更新,只能更新存在的數據,saveorupdate,當數據不存在,則保持,存在則更新
    10 只要在配置文件里面,配置就可以了,具體用法就是用getHibernateTemplate代替直接操作hiberante散分結貼
      

  3.   

    6. load 先查緩存中是否有,有就取,沒有就再訪問數據庫,get訪問數據庫 
    不敢苟同。不管是load还是get,都会查缓存的。
      

  4.   

    如果查询的记录不存在,get()方法将返回null.而load()将会报出ObjectNotFoundEcception
      

  5.   

    按你这样说,LOAD和GET就没差别了.
    好像GET 是直接从数据库取出来,然后再放到缓存里的吧
      

  6.   

    baidu/google就能查的出来吗,我只是想让大家说说自己的体会。
      

  7.   

    get() 如果数据库没有值返回NULL  
    load()抛出异常 load默认支持延迟加载!
     
      

  8.   

    8.spring的事务有几种方式?谈谈spring事务的隔离级别和传播行为。
    spring事务分两种形式,声明式事务和编程式事务,spring提供了一个事务的接口PaltformTractionManager接口,针对不同的事务,spring进行了不同的实现,对hibernate事务的实现HIbernateTractionManager,对JDBC的JdbcTractionManager,DataSourceTractionManager以及JdoTractionManager。接口platformTractionManager提供了三个方法,获取事务,提交和回滚的方法。spring的事务事务的隔离级别以及传播行为,建议楼主去看看spring的底层代码。基本都是可以看明白的。
      

  9.   

    记得load与get都会查询缓存,如果缓存中没有,load会查询二级缓存,如果没有,则查询数据库,get访问缓存之后,直接访问数据库。
    以前用load时报session关闭,换get就没有问题,至今没明白。谁解释一下。。
      

  10.   

    load是延迟检索机制,如果第一次查没有查到记录,在继续查时,如果你第一次把 session关闭了,就报错了。
    所以在这种情况下不能关闭session的。
      

  11.   

    JSP承担View层供用户输入信息,发送请求和为用户显示信息;
    ActionForm封装用户请求数据,可进行格式验证;
    ActionServlet接受请求,根据struts-config.xml文件,将请求发送给相应的Action对象;
    Action接受请求,从ActionForm中获得数据,处理数据,可调用Model层处理数据,将结果返回给ActionServlet;
    ActionServlet将处理结果返回给相应的Viewer显示
      

  12.   


    1.不是线程安全的!可以使用局部变量来解决,如果用Spring可以把scope设置成property
    2.jsp v javabena model c action 
    3,actionmapping actionforward actionerr等 
    4.ICO就不说了就那样用了AOP在spring2.0后来实现事务管理还是很方便的
    5.我记得好像是3种 应该是 query(HQL) critea 和sql方言
    6. 
    load想会去查找1级缓存然后去2级缓存查,不存在去查数据库,没有找到抛出异常
    get只会在1级缓存中查找,不存在去查数据库,没有找到返回null
    7.hibernate 的延迟加载就不说了HIbernate3中支持属性的延迟加载
    openSessionInView我的理解就是为了延迟加载来的
    因为SPRING管理事务,session会关闭,这个时候延迟加载会报错的,so出现了这个
    8.
    2种 声明式事务和编程式事务 后面没有记都是直接copy配置 汗!~~~~~~~
    9.
    好像实体类映射的时候有个unsaved的值,hibernate根据这个来判断这个实体有没有被持久化,
    如果没有 save否则update
    10.
    没有什么好说的HibernateTempxx中调用好像这些都很基础,偶学Hibernate还不久
      

  13.   


    补充下:load:如果没有找到用户想得到的记录,会抛出异常
    get:。。,会返回null适用hibernate api上面的原话来说就是:
    load():
    You should not use this method to determine if an instance exists (use get() instead). Use this only to retrieve an instance that you assume exists, where non-existence would be an actual error. 
      

  14.   

    1)如果是struts1改是线程安全 不能定义有状态的实例变量
    2)DispatchServlet
    3) DispatchAction 可以在里面定义多个对象 ActionForm 对应实体
    4) AOP对一些横切逻辑进行模块化  IOC由容器解决对象间依赖关系   
    5)find  get load
    6) get() 如果数据库没有值返回NULL  load()抛出异常 load默认支持延迟加载! 
    7) 延迟加载是指真正用到才去加载  openSessionInView就是为了解决session在manager层关闭,页面无法的延迟加载的对象
    8)声明式事务和编程式事务
    9)不知
    10)hibernateTemplate
      

  15.   

    都用过,楼上几位都回答过了 我就不献丑了7.延迟加载 lazy="false" 在hibernate3.0前都是false,3.0以后都为默认的true,这样能提高效率,主要是用处关联查询的延迟加载
      

  16.   

    hibernate对于load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方法,hibernate一定要获取到真实的数据,否则返回null
      

  17.   

    1 Action是不是线程安全的?如果不是 有什么方式可以保证Action的线程安全?如果是,说明原因
    struts1不是,struts2是;
    声明局部变量,或者扩展RequestProcessor,让每次都创建一个Action,或者在spring中用scope="prototype"来管理
    2.MVC,分析一下struts是如何实现MVC的
    m:JavaBean 或结合 EJB 组件或者pojo构成
    c:Action 来实现
    v:一组 JSP 文件及其标签构成。
    3.struts中的几个关键对象的作用(说说几个关键对象的作用)
    Action:控制器类,ActionForm:表单对象,DynaValidatorForm:动态form,ActonMapping:配置文件中action节点的信息......
    4.说说AOP和IOC的概念以及在spring中是如何应用的
    AOP:面向方面编程,ioc:依赖注入;声明式事务和编程式事务积极一些通用部分
    5.Hibernate有哪几种查询数据的方式
    hql查询,sql查询,条件查询
    6.load()和get()的区别
    load时候之查询一级缓存,没有就创建代理,用的时候就去数据库找,没找到抛异常;get()现在一级缓存找,没有就去二级缓存找,没有就去数据库找,没有就返回null
    7.谈谈hibernate的延迟加载和openSessionInView
    延迟加载要在session范围内,用到的时候再加载;opensessioninview是在web层写了一个filter来打开和关闭session,这样就表示在一次request过程中session一直开着,保证了延迟加载在session中的这个前提。
    8.spring的事务有几种方式?谈谈spring事务的隔离级别和传播行为。
    声明事务和编程事务
    隔离级别:
    - DEFAULT使用数据库默认的隔离级别
    - READ_UNCOMMITTED会出现脏读,不可重复读和幻影读问题
    - READ_COMMITTED会出现重复读和幻影读
    - REPEATABLE_READ会出现幻影读
    - SERIALIZABLE最安全,但是代价最大,性能影响极其严重
    和传播行:
    - REQUIRED存在事务就融入该事务,不存在就创建事务
    - SUPPORTS存在事务就融入事务,不存在则不创建事务
    - MANDATORY存在事务则融入该事务,不存在,抛异常
    - REQUIRES_NEW总是创建新事务
    - NOT_SUPPORTED存在事务则挂起,一直执行非事务操作
    - NEVER总是执行非事务,如果当前存在事务则抛异常
    - NESTED嵌入式事务
    9.Hibernate中的update()和saveOrUpdate()的区别.
    摘自hibernate说明文档:
    saveOrUpdate()做下面的事: 
    如果对象已经在本session中持久化了,不做任何事 
    如果另一个与本session关联的对象拥有相同的持久化标识(identifier),抛出一个异常 
    如果对象没有持久化标识(identifier)属性,对其调用save() 
    如果对象的持久标识(identifier)表明其是一个新实例化的对象,对其调用save() 
    如果对象是附带版本信息的(通过<version>或<timestamp>) 并且版本属性的值表明其是一个新实例化的对象,save()它。 
    否则update() 这个对象 10.Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法,并结合事务管理。
    getHiberanteTemplate里面提供了save,update,delete,find等方法。
    简单说一个:如果配置了声明式事务,当执行getHibernateTemplate的各种方法的时候,事务会自动被加载
    如果没有配置事务,那么以上操作不会真正的被同步到数据库,除非配置了hibernate的autocommit=true
      

  18.   

    最近阿里巴巴、淘宝、支付宝等公司在大力网络技术人才,有兴趣的大拿们,请把最新简历发给我,我把你推荐给他们,邮箱[email protected]