简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件.

 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
百度网友9485a6c
推荐于2017-05-16 · TA获得超过588个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:181万
展开全部
Hibernate就是封装了JDBC,他可以写一条hql语句,可以再不同数据库中使用,不用修改hql语句,但是关联查询效率低。
JDBC是基础的链接数据库的框架,效率高,但是mysql、oracle、sql service等不同的数据库要写不同的sql语句。
one to many比如Class和Student吧就是一个班级对应多个学生

在Class类中追加集合属性 Set<Student> students;
在Class的配置文件中追加(Class.hbm.xml)
<!-- 追加集合属性的配置 -->
<!-- 设置集合属性 -->
<set name="students" lazy="false" fetch="join" cascade="all" inverse="true">
<!-- 设置关联字段 -->
<key column="classId" />
<!-- 设置关联关系 -->
<one-to-many class="Studnet" />
</set>
将Studnet中的classId属性去掉换成 Class class;
在Student的配置文件中(Student.hbm.xml)
<many-to-one name="class" column="classId" lazy="false" fetch="join"
class="Class">
</many-to-one>
不明白可以再问我,有可能写的有点乱,纯手写,见谅
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
KV9918
2018-12-30
知道答主
回答量:7
采纳率:0%
帮助的人:5357
展开全部
hibernate的特点 : 解决了直接用JDBC操作数据库的烦琐操作。屏蔽了各种数据库的实现细节。
JDBC执行效率会比Hibernate高些。
Hibernate和Mybatis它们的编码复杂度为O(n),也就是说每操作一个DB的表,就要写一次dao。一个十分钟即可学会的ORM框架--Bee , 编码复杂度是O(1),不用重复编写代码。
1) 编码复杂度C(n)=O(n),即会随实体的增长,编码量呈线性增长。当n较大时,会增加许多工作量。
2) 需要写很多的判断字段是否为空(null) ,是否是空字符串的语句;工作重复,乏味。
3)实体Javabean与DB表的map映射文件太多;或者,实体Javabean文件注解用得太泛滥,太多注解难以记忆,增加开发人员负担。
4) Hibernate的概念太复杂,学习成本高,更新会先查询再更新,n+1问题。

一个十分钟即可学会的ORM框架--Bee , 编码复杂度是O(1).
编码复杂度是O(1),就是说ORM框架只写一次就行了,没必要写n次。
(想想数据结构中时间复杂度,空间复杂度从O(n)提升到O(1)对性能的影响有多大)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式