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

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


比如:
关系映射 many-to-one
比如:
二级缓存
8785 次点击
所在节点    Java
53 条回复
zava
2014-09-10 21:52:17 +08:00
JPA 不是正道, 围绕着 SQL 转,又没有 SQL 的表现力.
ren2881971
2014-09-10 22:17:50 +08:00
@zava 平时都是直接写sql的。 但是公司现在总想着兼容多数据库。 这本身就是矛盾的。
当然也不排除我sql 写够了 想用用hibernate尝尝鲜。。
rayu
2014-09-10 22:25:56 +08:00
最近刚加入一家新公司,经理居然规定死了只能用spring data jpa,各种难受,借lz帖子吐槽一下。
ren2881971
2014-09-10 22:27:59 +08:00
@rayu 欢迎吐槽~ 话说spring 那个jpa 好用么? 前一阵我们组长搭了一套 spring mvc + spring core + spring jpa + spring security的环境~
我总感觉有点牵强附会,生用的感觉~
unionx
2014-09-10 22:32:04 +08:00
hibernate 大法好,自己写 sql 早晚被坑
reeco
2014-09-10 22:41:04 +08:00
我喜欢直接写SQL
ren2881971
2014-09-10 22:48:28 +08:00
@unionx 这个要看 sql掌握的程度和是否需要跨数据库 根据实际应用来度量的。
不是什么大法就用那个的。 再说hibernate目前在哪儿都被黑出了翔吧
suliuyes
2014-09-11 00:54:25 +08:00
1:绝大多数项目都不需要跨数据库,你真的需要hibernate吗?跨了就没选择了。
2:已经会sql了为什么还需要耗费心思学ORM框架?投资回报性价比高吗?确定不考虑mybatis?
AIRPLAY
2014-09-11 08:22:50 +08:00
@suliuyes 和ibatis什么关系?
Aegwynn
2014-09-11 08:32:15 +08:00
@AIRPLAY 同一个东西,2010年由apache software foundation 迁移到了google code,并且改名为MyBatis
bigzhu
2014-09-11 08:40:25 +08:00
等被坑过你就知道这些orm有什么不好了。到一定数量级,必须写sql
qq2511296
2014-09-11 08:49:52 +08:00
查数据大的时候 不要用HQL 例如一些报表的查询的时候 尽量都用原生sql查询 效率会提高很多
hcymk2
2014-09-11 09:18:17 +08:00
把一个不太了解的工具当作银弹,万灵药,不坑你才怪。
zouxcs
2014-09-11 09:23:20 +08:00
习惯了自己写sql,经常用mybatis,配置简单。
tflz514
2014-09-11 09:25:21 +08:00
ffffwh
2014-09-11 09:39:16 +08:00
据说ORM被吐槽很多?谁顺手贴几篇文章给看看?
kengle
2014-09-11 09:49:18 +08:00
那么多人唱衰 orm 啊, orm 这东西是个好黑的箱子, 里面一堆的代码注入, 而且 bean 的管理好复杂, 特别是 hibernate, 一不小心就踩到坑.
不过话说回来, 小项目用 orm 效果还是很好的, 等项目变大了再纯 sql 也不迟啊.
gouflv
2014-09-11 09:56:21 +08:00
学习归学习, 真的试试就知道了
hcymk2
2014-09-11 10:08:56 +08:00
这是一篇很老的帖子
http://www.iteye.com/topic/148055
ren2881971
2014-09-11 10:35:58 +08:00
@all 只是想尝试下而已~ 主要了解下以后找工作用的到啊~ 这个是肯定的。
我个人还是喜欢直接操作sql
@suliuyes 话说mybatis 是原生sql 直接操作数据库的是么? 跟dbutils 类型?

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

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

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

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

© 2021 V2EX