`
yuonch
  • 浏览: 11767 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

我出的面试题

 
阅读更多
下面一段代码执行过程中将由hibernate产生多少条sql语句,分别是什么:
Student s = new Student();
s.setName("aaa");
s.setGrade(1);
dao.save(s);
s.setGrade(6);
dao.load(s,"xxx");
s.setGrade(5);
dao.update(s);


公司网站有电子商务性质,所以对持久化方面要求的会严格一些,招聘几个月,看了2000多份简历,面试也有百来号人,但是这样一道简单的hibernate题目,答对的却只有3、4个
分享到:
评论
75 楼 boogie 2007-06-15  
这个帖子评为隐藏帖实为不该!!
就帖子的内容来说没有什么问题,在加上后面的有人回答的答案,对理解HIBERNATE还是有很大帮助的,至于楼主用来考核这个做法对错与否,那是另外一件事!
至少像我一样,什么也不投,就对一些回帖进行评分!
74 楼 ahuaxuan 2007-06-14  
就放一段代码出来,然后就傻傻的问别人执行了几条sql,还很满足的说只有3,4个人答对,你连你的环境都没有说清楚,谁知道你的dao的方法是如何得到session的呢,如果没有用spring,那session是否是同一个,如果用了spring,谁知道你的dao上有没有加事务呢,还很自我陶醉
73 楼 lujh99 2007-06-14  
这个方法倒是有的,HibernateTemplate中:
public void load(final Object entity, final Serializable id) throws DataAccessException{...}


hibernate的session接口中也有定义的:
/**
	 * Read the persistent state associated with the given identifier into the given transient
	 * instance.
	 *
	 * @param object an "empty" instance of the persistent class
	 * @param id a valid identifier of an existing persistent instance of the class
	 * @throws HibernateException
	 */
	public void load(Object object, Serializable id) throws HibernateException;
72 楼 logo 2007-06-14  

public Object load(Object object, String str) throws DataAccessException;


请告诉我Spring源代码哪一行有这个方法签名,谢谢。

如果说Student的主键类型是String,那这段代码就大错而特错了。你save之后才能获得Hibernate自己生成的UUID,那程序员是怎么知道这个生成的UUID是“xxx”,如果不是,那么这段程序必然报错。

也就是说真正的答案就是:一条SQL也不会发送,而且程序会抛出异常,哈哈。


71 楼 lix23 2007-06-14  
logo 写道
yuonch 写道
下面一段代码执行过程中将由hibernate产生多少条sql语句,分别是什么:
Student s = new Student();
s.setName("aaa");
s.setGrade(1);
dao.save(s);
s.setGrade(6);
dao.load(s,"xxx");
s.setGrade(5);
dao.update(s);


公司网站有电子商务性质,所以对持久化方面要求的会严格一些,招聘几个月,看了2000多份简历,面试也有百来号人,但是这样一道简单的hibernate题目,答对的却只有3、4个


根据你后面写的条件来看,dao.load(s,"xxx")这条语句很蹊跷。因为不论Hibernate的Session接口,还是Spring的HibernateTemplate都没有这个方法签名,所以你这个问题根本答不出来,不知道你说的答案是4条SQL这个结论是怎么得出来的。

如果是这样:
dao.load(Student.class, s.getId())
并且假设上述代码在同一个事务范围内,那么只会产生一条SQL,即insert语句。

所以,我认为你的题目出错了,从某种意义上来说,你对Hibernate的理解也是有问题的。


有这个方法签名啊,在HibernateTemplate里。
70 楼 leondu 2007-06-14  
aninfeel 写道
楼主应该进教育局,帮国家愚弄学生。

也不用这么刻薄吧,楼主主要的缺点是没有把场景说清楚,如果作为面试,这样出题也未尝不可,大家总要有个讨论的基础嘛。关键是从对这个题目的讨论引出应试者对hibernate的理解程度,而不是就只回答个数目字了事。
69 楼 leondu 2007-06-14  
lordhong 写道
sg552 写道
总是有人说HIBERNATE比JDBC慢。

我真不明白。90%的场合,HIBERNATE生成的SQL语句都属于专家级别的。什么就慢了?

想快,不要用JDBC了,直接用汇编吧!

hibernate对enumeration的支持是0, 并非所有情况下都用hibernate.


你可以使用UserType或者使用JPA提供的支持

@Enumerated(EnumType.STRING)
@Column(name = "RATING", nullable = false, updatable = false)
private Rating rating;
68 楼 jj5715 2007-06-14  
save的时候如果ID用的是序列。
第一句应该是select一个ID。。再insert.
67 楼 phoenix 2007-06-14  
真热闹,不过楼主的题目确实有歧义,但是拿来面试也无妨,但是关键就是应试者如何针对你给出的问题提问了,而不是它的答案,这种题目直接回答有几条sql的都是错误的,从应试者提得问题就可以看出来是否熟悉hibernate了或者说用spring包装的hibernate了呵呵
66 楼 lujh99 2007-06-14  
另外如果这些代码不是在一个事务中,即事务加在dao上,那么跟是否使用了OpenSessionInView也有关,如果没有用OpenSessionInView,那么执行s.setGrade(6);时session已关闭,s是个游离对象,没有显式的更新语句它是不会写到数据中的,所以只会有3条sql。
65 楼 aninfeel 2007-06-14  
楼主应该进教育局,帮国家愚弄学生。
64 楼 gigix 2007-06-14  
我一早便说了,这个显然和unit of work的实现有关的
63 楼 logo 2007-06-14  
yuonch 写道
下面一段代码执行过程中将由hibernate产生多少条sql语句,分别是什么:
Student s = new Student();
s.setName("aaa");
s.setGrade(1);
dao.save(s);
s.setGrade(6);
dao.load(s,"xxx");
s.setGrade(5);
dao.update(s);


公司网站有电子商务性质,所以对持久化方面要求的会严格一些,招聘几个月,看了2000多份简历,面试也有百来号人,但是这样一道简单的hibernate题目,答对的却只有3、4个


根据你后面写的条件来看,dao.load(s,"xxx")这条语句很蹊跷。因为不论Hibernate的Session接口,还是Spring的HibernateTemplate都没有这个方法签名,所以你这个问题根本答不出来,不知道你说的答案是4条SQL这个结论是怎么得出来的。

如果是这样:
dao.load(Student.class, s.getId())
并且假设上述代码在同一个事务范围内,那么只会产生一条SQL,即insert语句。

所以,我认为你的题目出错了,从某种意义上来说,你对Hibernate的理解也是有问题的。
62 楼 cskysnew 2007-06-14  
抛出异常的爱 写道
因为你用的主键没变。。。。(本题的主键是不同的。。)

可否说的明白一些呢,谢谢。
61 楼 抛出异常的爱 2007-06-14  
因为你用的主键没变。。。。(本题的主键是不同的。。)
60 楼 cskysnew 2007-06-14  
为什么我怎么测试都是3条sql语句呢?我看了一下spring中HibernateTemplate的load方法,他只是条用session.load()方法,这个方法怎么可能持久化对象(执行update操作)。
59 楼 yuonch 2007-06-14  
jetever 写道
这个有几条有何意义?


生存有什么意义?
58 楼 jetever 2007-06-14  
这个有几条有何意义?
57 楼 netfishx 2007-06-14  
JAVA_ED 写道
LS你的图片是不是疯蛙啊

复出了
56 楼 流浪者 2007-06-14  
巨没劲

相关推荐

    10万字总结java面试题和答案(八股文之一)Java面试题指南

    JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...

    云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云

    云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备...

    java面试题,J2EE面试题 笔试题

    最全的j2EE面试题,题量大、经典,是我面试的整理试题 1、java笔试题大集合 2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题) 5、java_华为笔试题 6、java常见面试题 7、java程序员面试宝典 8、...

    牛客大数据面试题集锦+答案,共523道,46W+字。大厂必备

    大数据面试题V3.0完成了。共523道题,679页,46w+字,来源于牛客870+篇面经。 主要分为以下几部分: Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题...

    2023最新JAVA面试题集

    2023年最新版--Java+最常见的+200++面试题汇总+答案总结汇总 阿里百度美团面试题合集 大数据面试题 100道 多线程面试59题(含答案) 最新JAVA面试题总结之基础/框架/数据库/JavaWeb/Redis BIO,NIO,AIO,Netty面试题 ...

    2022java面试题、JVM面试题、多线程面试题、并发编程、Redis面试题、MySQL面试题、Java2022面试题

    2022java面试题、JVM面试题、多线程面试题、并发编程、Redis面试题、MySQL面试题、Java2022面试题、Netty面试题、Elasticsearch面试题、Tomcat面试题、Dubbo面试题、Kafka面试题、Linux面试题、2021面试题、java面试...

    个人面试题总结(java,数据库,前端).zip

    文件中包含了本人最近在网上总结的面试题,有java面试题,jq面试题,jsp、servlet、ajax面试题,mysql面试题,oracle面试题,redis教案,也有最近时间总结的公司面试题,涉及的层面虽然不是很多,但是应对面试 应该...

    【BAT必备】zookeeper面试题

    【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】...

    (完整版)运维面试题(含答案).pdf

    (完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题...

    面试题 面试题面试题

    面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题...

    【BAT必备】dubbo面试题

    【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题...

    前端面试题:前端框架面试题大全

    前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; ...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....

    ERP工程师面试题ERP工程师面试题

    ERP工程师面试题ERP工程师面试题ERP工程师面试题ERP工程师面试题

    面试小抄面试题 面试题sss

    * 列出面试小抄面试题清单:列出所有可能的面试小抄面试题,以便更好地准备面试。 * 分类学习:根据面试小抄面试题的分类标准,学习和掌握相关的知识点。 * 实战演练:通过实战演练,掌握面试小抄面试题的回答方法和...

    Python面试题及答案共70道.docx

    Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python...

    最全的IT公司面试题集 CHM版的

    Java面试题,J2EE面试题,.net面试题,PHP面试题,数据库面试题,英语面试,外企面试,软件测试面试题,Python面试题,Oracle面试题,MySql面试题,Web开发面试题,Unix面试题,程序员面试,网络技术面试题,网络安全面试题,Linux...

    H5前端面试大全-包含大厂面试题_25个md文件分类面试题.rar

    前端笔试面试题部分 试题链接 原题概述 标签分类 1.md CSS部分 CSS 2.md HTML部分 HTML 3.md FEX 面试题 General 4.md 前端面试常见问题 General 5.md 前端面试HTML 相关问题 HTML 6.md 前端面试CSS 相关问题...

    java高级软件工程师面试题大全及答案 含一些公司面试题

    java高级软件工程师面试题大全及答,一些公司的面试题,对于正在找工作应对面试的朋友或许有点帮助。java高级软件工程师面试题大全及答,一些公司的面试题,对于正在找工作应对面试的朋友或许有点帮助

    面试各个公司总结出的面试题.pdf

    许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程 度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们...

Global site tag (gtag.js) - Google Analytics