下面那几点是 hibernate的优势?()

A: 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
B: Hibernate 是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度上简化了DAO层的编码工作。
C:hibernate使用java的反射机制,而不是字节码增强程序来实现透明性。
D:hibernate 的性能非常好,因为他是个轻量级框架。映射的灵活性很出色。它支持多种数据库,从一对一到多对多的各种复杂关系。

参考解答

ABCD 上面的答案是网络上给出的正确答案,但这是有争议的!我给出的答案是AB,如果仅是笔试,可以按ABCD来答,如果是面试要说出以下理由:

hibernate 默认采用的是java的反射机制来实现脏数据检查、延迟加载等特性;但它同时支持字节码增强(bytecode enhancement)技术实现上面的特征。

字节码增强是指在编译期间对生成的*.class做手脚,改变其方法行为,优势是无需在运行期间生成代理类参与进来,性能上更有优势。缺点是编译时需要额外步骤。

hibernate的性能好是相对而言的,如果让它和jdbc或mybatis比较,性能算不上好;轻量级的说法也是相对于古董技术ejb2而言的,它对比mybatis的话,只能算重量级。


results matching ""

    No results matching ""