关于hibernate 和 存储过程的优劣问题
2008-12-06 15:41
309 查看
在目前J2EE技术流行的年代,似乎在系统中使用传统的数据库技术成了一种落后,真的是这样吗。
hibernate无论如何做,其实最终它还是需要通过数据库的SQL来完成它的操作,只不过它是在数据库上面封装了一层,使得应用层可以通过面向对象的机制来完成对数据业务的操作,由于是通过面向对象的机制,所以可以设计出一些更好的模式,使得系统的扩展性和代码的逻辑性上更优良,但这不等于传统的一些底层数据库知识就没有用了。
对一些性能上要求较高的工作,其实还是离不开数据库一些特性的技术,比如可以把这类的工作通过存储过程来完成,这就象出现了手枪,不等于传统的格斗技术就没用了一样。
所以个人觉得在系统的设计中,应该根据不同情况使用存储过程等数据库技术和hibernate技术,这两种技术的结合将会使系统的性能和系统的开发质量达到一个比较和谐的地步。只不过该如何控制好它们之间的度,这才是我们该思考的地方。
以下引用banq一段话做为结束,"存储过程是一个好的技术,我个人认为它和Hibernate等ORM之间的选择取决于你的需求,是追求性能,还是追求软件质量?如果在两者之间取得平衡,直接使用JDBC也是一种办法"。
hibernate无论如何做,其实最终它还是需要通过数据库的SQL来完成它的操作,只不过它是在数据库上面封装了一层,使得应用层可以通过面向对象的机制来完成对数据业务的操作,由于是通过面向对象的机制,所以可以设计出一些更好的模式,使得系统的扩展性和代码的逻辑性上更优良,但这不等于传统的一些底层数据库知识就没有用了。
对一些性能上要求较高的工作,其实还是离不开数据库一些特性的技术,比如可以把这类的工作通过存储过程来完成,这就象出现了手枪,不等于传统的格斗技术就没用了一样。
所以个人觉得在系统的设计中,应该根据不同情况使用存储过程等数据库技术和hibernate技术,这两种技术的结合将会使系统的性能和系统的开发质量达到一个比较和谐的地步。只不过该如何控制好它们之间的度,这才是我们该思考的地方。
以下引用banq一段话做为结束,"存储过程是一个好的技术,我个人认为它和Hibernate等ORM之间的选择取决于你的需求,是追求性能,还是追求软件质量?如果在两者之间取得平衡,直接使用JDBC也是一种办法"。
相关文章推荐
- 技术求教!一个关于存储过程的问题!
- 关于mysql存储过程的definer的问题
- hibernate保存数据和调用存储过程数据事务不同步的问题
- 关于存储过程不直接返回结果集的问题
- 关于coolite grid 存储过程分页的问题,忘大虾解决...
- 关于SQL存储过程的问题
- 关于在SQLSERVER2000中存储过程调用存储过程返回参数的问题
- 关于调用存储过程获取参数返回值和输出参数注意的问题
- 关于存储过程创建的问题
- 关于shell调用MySQL存储过程的问题
- 关于存储过程的参数和ASP优化问题
- c#关于数据库自定义类型在存储过程中返回服务器端的问题
- 第一次写MySQL存储过程遇到的关于DELIMITER的问题
- 关于MYSQL替换和存储过程的问题、
- 关于MsSql2000中对于存储过程中的一个问题
- 关于mysql存储过程的definer的问题
- 关于ASP.NET2.0编写扩展存储过程的问题
- 关于sqlhelper调用存储过程获取参数返回值和输出参数的问题
- 关于vs2008中,往dataset添加用了临时表的存储过程的问题。
- 关于MySQL存储过程中中文乱码的问题