身披 java 工程师的皮工作了两年,今天才发现对 hibernate 了解的太少太少了~

2014-09-10 21:14:39 +08:00
 ren2881971
一直都是直接写sql 用jdbc操作数据库。
工作时间大多数也是在专研业务知识或者维护老系统。
对hibernate的了解还停留在刚毕业的时候。
一直以为对hibernate都很不屑~ 觉得没有直接操作sql灵活,而且性能较差
结果最近一个项目我脑袋短路了。突然想用SSH来完成。
发现hibernate也没那么简单~(也可能是以前我用得不对~) 以前太小看他了...


比如:
关系映射 many-to-one
比如:
二级缓存
8786 次点击
所在节点    Java
53 条回复
rayu
2014-09-11 14:44:32 +08:00
hibernate也是一个德行
raychar
2014-09-11 15:01:46 +08:00
只了解到一对多 多对一那些的程度,折腾很久,然后放弃。
xiaowangge
2014-09-11 17:53:30 +08:00
公司的原则是:

能不用 Hibernate(搭配 MySQL)就尽量不用。项目中几乎看不到 Hibernate 影子。

我们使用腾讯云的 CMem 存储。
robertlyc
2014-09-11 17:56:42 +08:00
activerecord爆hibernate几十条马路
ren2881971
2014-09-11 18:08:36 +08:00
@robertlyc 你这我是没听过啊~
ren2881971
2014-09-11 18:13:27 +08:00
@qping 有空研究下~ spring mvc+ mybatis
xuan_lengyue
2014-09-11 19:02:15 +08:00
ORM 少碰为妙,最近一个项目用了 Entity Framework,坑实在太多了。
最大的一个问题是有些用 SQL 很轻松就实现的东西在 EF 里面非常难实现或者根本就没法实现。
然后发现大部分数据层逻辑都用 EF 实现了,会有一种骑虎难下的感觉。
wintersun
2014-09-11 19:26:02 +08:00
@Lucups 同意,没有银弹,只有适合。认清楚各种技术的优缺点,分析要实现的系统场景,裁裁剪剪,剪剪裁裁,终成大家!^_^
ren2881971
2014-09-11 19:51:42 +08:00
@xuan_lengyue orm 坑是一点。 更多情况是使用者没弄明白就开始瞎用了
ren2881971
2014-09-11 20:12:15 +08:00
第一个坑来了。。。
hibernate的关系映射延迟加载 需要session在对象使用的时候一直开着。也就是一直持有session。
但是spring 的DAO模式 HibernateTemplate 确在每个方法完毕后即关闭session。
这两个结合一起绝壁了。
这到底让不让我使用关系映射延迟加载啊!

这用sql就是 查完父表 再查子表嘛~
spacewander
2014-09-12 09:51:23 +08:00
@ren2881971 只用过Ruby的ActiveRecord和Python的SQLAlchemy的人表示……你说的东西也太复杂吧,完全听不懂……hibernate真是奇怪的orm。
ren2881971
2014-09-12 10:28:45 +08:00
@spacewander 唉 你们这些互联网程序员!
ren2881971
2014-09-12 10:59:34 +08:00
经过两天使用LZ 以身试法
向大家展示了 no zuo no die why u try
以后再也不用hibernate了。
结贴!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/132772

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX