更多“hibernate 中的update()和saveOrUpdate()的区别,session的load()和get()的区别。”相关问题
  • 第1题:

    在Hibernate中,以下()不属于session的方法

    • A、close()
    • B、open()
    • C、update()
    • D、delete()

    正确答案:B

  • 第2题:

    Hibernate对象从瞬时(即临时状态)到持久状态转换的方式有()

    • A、调用session的save方法
    • B、调用session的create方法
    • C、调用session的update方法
    • D、调用session的load方法

    正确答案:A,C

  • 第3题:

    试述load()和get()的区别。


    正确答案: 1.从返回结果上对比:
    L.oad方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null
    2.从检索执行机制上对比: get方法和find方法都是直接从数据库中检索 而load方法的执行则比较复杂首先查找session的persistent Context中是否有缓存,如果有则直接返回 如果没有则判断是否是lazy,如果不是直接访问数据库检索,查到记录返回,查不到抛出异常 如果是lazy则需要建立代理对象,对象的initialized属性为false,target属性为null 在访问获得的代理对象的属性时,检索数据库,如果找到记录则把该记录的对象复制到代理对象的target上,并将initialized=true,如果找不到就抛出异常。
    H.ibernate对于 load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方法,hibernate一定要获取到真实的数据,否则返回null。

  • 第4题:

    Hibernate对象从瞬时到持久状态转换的方式有()。

    • A、调用session的save方法
    • B、调用session的create方法
    • C、调用session的update方法
    • D、调用session的load方法

    正确答案:A

  • 第5题:

    简述Cookie对象和Session对象的区别


    正确答案:Cookie与Session类似,也是用来保存相关信息的,但Cookie与Session最大不同是,Cookie将信息保存在客户端,而Session保存在服务器端。Cookie机制采用的是在客户端保持状态的方案,而Session机制采用的是在服务器端保持状态的方案,由于采用服务器端保持状态的方案在客户端也需要保存一个标识, 所以Session机制需要借助于Cookie机制来达到保存标识的目的

  • 第6题:

    简述Hibernate中find和iterate的区别?


    正确答案: find方法和iterator方法的区别
    (1) iterator首先会获取符合条件的记录的id,再跟据id在本地缓存中查找数据,查找不到的再在数据库中查找,结果再存在缓存中。N+1条SQL语句。
    (2) find根据生成的SQL语句,直接访问数据库,查到的数据存在缓存中,一条SQL语句。

  • 第7题:

    Hibernate增加数据的时候,可以调用session的()方法。

    • A、save
    • B、update
    • C、add
    • D、saveOrUpdate

    正确答案:A,D

  • 第8题:

    多选题
    在Hibernate中修改对象的说话错误的是()
    A

    只能利用update方法来做修改

    B

    可以利用saveOrUpdate方法来做修改

    C

    可以利用HQL语句来做修改

    D

    不能利用HQL语句来修改


    正确答案: A,D
    解析: 暂无解析

  • 第9题:

    问答题
    请简述MyBatis和Hibernate的区别。

    正确答案: 调优方案:
    Hibernate的调优方案:
    1.制定合理的缓存策略;
    2.尽量使用延迟加载特性;
    3.采用合理的Session管理机制;
    4.使用批量抓取,设定合理的批处理参数(batch_size);
    5.进行合理的O/R映射设计
    Mybatis调优方案:
    MyBatis在Session方面和Hibernate的Session生命周期是一致的,同样需要合理的Session管理机制。MyBatis同样具有二级缓存机制。MyBatis可以进行详细的SQL优化设计。
    1、SQL优化方面
    Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗。Hibernate也可以自己写SQL来指定需要查询的字段,但这样就破坏了Hibernate开发的简洁性。而Mybatis的SQL是手动编写的,所以可以按需求指定查询的字段。HibernateSQL语句的调优需要将SQL打印出来,而Hibernate的SQL被很多人嫌弃因为太丑了。MyBatis的SQL是自己手动写的所以调整方便。但Hibernate具有自己的日志统计。Mybatis本身不带日志统计,使用Log4j进行日志记录
    2、扩展性方面
    Hibernate与具体数据库的关联只需在XML文件中配置即可,所有的SQL语句与具体使用的数据库无关,移植性很好。MyBatis项目中所有的SQL语句都是依赖所用的数据库的,所以不同数据库类型的支持不好。
    解析: 暂无解析

  • 第10题:

    问答题
    试述load()和get()的区别。

    正确答案: 1.从返回结果上对比:
    L.oad方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null
    2.从检索执行机制上对比: get方法和find方法都是直接从数据库中检索 而load方法的执行则比较复杂首先查找session的persistent Context中是否有缓存,如果有则直接返回 如果没有则判断是否是lazy,如果不是直接访问数据库检索,查到记录返回,查不到抛出异常 如果是lazy则需要建立代理对象,对象的initialized属性为false,target属性为null 在访问获得的代理对象的属性时,检索数据库,如果找到记录则把该记录的对象复制到代理对象的target上,并将initialized=true,如果找不到就抛出异常。
    H.ibernate对于 load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方法,hibernate一定要获取到真实的数据,否则返回null。
    解析: 暂无解析

  • 第11题:

    问答题
    请解释Hibernate3.2主键的生成方式中,native和identity方式的区别。

    正确答案: Native主键生成方式会根据不同的底层数据库自动选择Identity、Sequence、Hilo主键生成方式 
    Identity当时根据底层数据库,来支持自动增长,不同的数据库用不同的主键增长方式
    解析: 暂无解析

  • 第12题:

    单选题
    Hibernate增加数据时可以调用Session的()方法。
    A

      save()

    B

      update()

    C

      delete()

    D

      get()


    正确答案: D
    解析: 暂无解析

  • 第13题:

    请解释Hibernate3.2主键的生成方式中,native和identity方式的区别。


    正确答案: Native主键生成方式会根据不同的底层数据库自动选择Identity、Sequence、Hilo主键生成方式 
    Identity当时根据底层数据库,来支持自动增长,不同的数据库用不同的主键增长方式

  • 第14题:

    HttpSession与Hibernate中Session的区别


    正确答案: 1. javax.servlet.http.HttpSession是一个抽象接口
    用途:存放这个用户的一些经常被用到的信息,例如:用户名,权限等
    2. 它是hibernate操作数据库的一个句柄对象 手动或者通过业务层获取

  • 第15题:

    请简述MyBatis和Hibernate的区别。


    正确答案: 调优方案:
    Hibernate的调优方案:
    1.制定合理的缓存策略;
    2.尽量使用延迟加载特性;
    3.采用合理的Session管理机制;
    4.使用批量抓取,设定合理的批处理参数(batch_size);
    5.进行合理的O/R映射设计
    Mybatis调优方案:
    MyBatis在Session方面和Hibernate的Session生命周期是一致的,同样需要合理的Session管理机制。MyBatis同样具有二级缓存机制。MyBatis可以进行详细的SQL优化设计。
    1、SQL优化方面
    Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗。Hibernate也可以自己写SQL来指定需要查询的字段,但这样就破坏了Hibernate开发的简洁性。而Mybatis的SQL是手动编写的,所以可以按需求指定查询的字段。HibernateSQL语句的调优需要将SQL打印出来,而Hibernate的SQL被很多人嫌弃因为太丑了。MyBatis的SQL是自己手动写的所以调整方便。但Hibernate具有自己的日志统计。Mybatis本身不带日志统计,使用Log4j进行日志记录
    2、扩展性方面
    Hibernate与具体数据库的关联只需在XML文件中配置即可,所有的SQL语句与具体使用的数据库无关,移植性很好。MyBatis项目中所有的SQL语句都是依赖所用的数据库的,所以不同数据库类型的支持不好。

  • 第16题:

    下面关于Hibernate中load和get方法说法正确的是()

    • A、这两个方法是一样的,没有任何的区别
    • B、这两个方法不一样,load先找缓存,再找数据库
    • C、这两个方法不一样,get先找缓存,再找数据库
    • D、以上说法都不对

    正确答案:D

  • 第17题:

    session和Application的区别主要在:()


    正确答案:session用于存储特定客户信息;application用于存储所以客户信息

  • 第18题:

    Hibernate增加数据时可以调用Session的()方法。

    • A、  save()
    • B、  update()
    • C、  delete()
    • D、  get()

    正确答案:A

  • 第19题:

    在Hibernate中,Session类提供了()接口,提供了参数绑定、结果集处理以及运行实际查询的方法。

    • A、createSQLQuery()
    • B、save()
    • C、update()
    • D、delete()

    正确答案:A

  • 第20题:

    多选题
    Hibernate对象从瞬时(即临时状态)到持久状态转换的方式有()
    A

    调用session的save方法

    B

    调用session的create方法

    C

    调用session的update方法

    D

    调用session的load方法


    正确答案: C,B
    解析: 暂无解析

  • 第21题:

    问答题
    简述Hibernate中find和iterate的区别?

    正确答案: find方法和iterator方法的区别
    (1) iterator首先会获取符合条件的记录的id,再跟据id在本地缓存中查找数据,查找不到的再在数据库中查找,结果再存在缓存中。N+1条SQL语句。
    (2) find根据生成的SQL语句,直接访问数据库,查到的数据存在缓存中,一条SQL语句。
    解析: 暂无解析

  • 第22题:

    单选题
    下面关于Hibernate中load和get方法说法正确的是()
    A

    这两个方法是一样的,没有任何的区别

    B

    这两个方法不一样,load先找缓存,再找数据库

    C

    这两个方法不一样,get先找缓存,再找数据库

    D

    以上说法都不对


    正确答案: B
    解析: 暂无解析

  • 第23题:

    问答题
    HttpSession与Hibernate中Session的区别

    正确答案: 1. javax.servlet.http.HttpSession是一个抽象接口
    用途:存放这个用户的一些经常被用到的信息,例如:用户名,权限等
    2. 它是hibernate操作数据库的一个句柄对象 手动或者通过业务层获取
    解析: 暂无解析