spring+struts+hibernate组合中hibernate的作用

laserdance 发布于 2011/07/04 09:03
阅读 3K+
收藏 0
其实这个问题我一直搞不明白,已做好被喷的准备,呵,我一直认为如果不需要缓存的话,Hibernate可有可无,持久化可以用spring jdbctemplate来实现。特别是它宣称的面向对象,操作的都是对象,有时候在页面上传个id,还得先根据id查到对象再删除,如果是jdbc,直接根据id删除即可。请大家指教我,我真是不明白为什么要用hibernate.真诚讨论,希望大家指教。
加载中
0
鉴客
鉴客
说的没错,的确可以不用 Hibernate ,用 Hibernate 的好处就是让系统看起来更复杂一些,收的钱可更多一些。
0
laserdance
laserdance

谢谢楼上兄台的回答。您说的是一方面,但一定还有其它方面的原因。请大家继续指教

0
Andre.Z
Andre.Z

还有就是启动速度慢不少,好像很多东西在跑。系统资源占用严重,好像这个应用很庞大。
稍微大点的应用都不会用这个。
我几年前就直接扔掉了,鸡肋。
新手喜欢的东西,直接可以产生一批懒人。
谁喷你我们一起喷他。

0
小安安
小安安

先根据id查到对象再删除  是为了删除关联关系的对象

如果 一个机构下 有n个用户  ,业务要求 删除了 机构 就要删除用户

用hibernate可以 直接删除机构 机构所带的用户 会一并删除,jdbc 的话 你要执行2次 第一次 删除用户 第二部 删除机构

如此看来楼主搞不清楚 hibernate的关联关系,否则不会这么问

0
小安安
小安安

hibernate的强大 在于它对 持久层的管理和面向对象的关联关系管理

如果说 你对持久层的认识 只是 数据库的 字段那就 用jdbc ,如果你把每条记录当做一个对象来看 你就用hibernate 会更顺手

0
首席搞事情
首席搞事情

没其他的,做save方便,其他的没有,我一般save用hibernate,query用jdbc。

0
laserdance
laserdance

嗯,确实我很少用hibernate,所以说对这些关联关系的对象啊,没有接触过,谢谢小安安的回答。因为我本来不是做b/s的,近来弄了个这样的,我看就很简单嘛,也没有你说的哪些关联关系,所以我认为可以不用嘛。你还可以继续回答。

0
laserdance
laserdance

其实还有一点批量删除时候我用着不太方便(hibernate)

0
叶城主
叶城主

hibernate是一个很不错的ORM 工具。

1.hibernate对处理关系性数据库比较方便。

2.hibernate提供的工厂模式很好的实现持久层操作。

3.hibernate提供一级、二级缓存的支持,大大提高性能。

4.hibernate提供方便的API 进行CRUD,大大减少编写繁琐的SQL语句。

个人觉得 ,在项目中用不用hibernate ,看项目的需求和架构。

---hibernate  应该只适合用在中型的项目中,而且要结合其它持久工具一起用更佳,比如,结合JDBC,配合处理相应的操作。

    hibernate 的强大之处,可能就体现在 对 对象关系的处理和缓存处理,不过这些都是只能在轻量级的中型项目中应用,一般大型的项目,hibernate就达不到性能上的要求了。

一句话,没有什么工具能治百病,各有所长,适用的才是最好的。

0
小安安
小安安

引用来自“laserdance”的答案

其实还有一点批量删除时候我用着不太方便(hibernate)

可以用hql 批量删除  比如 DELETE FROM Enity e WHERE e.iid IN (1,2,3,4) 等等

 

返回顶部
顶部