我可以将休眠模式用于以数据为中心的应用程序吗?

问题描述

| 我仔细阅读了一个休眠教程,他们说休眠不适用于以数据为中心的应用程序。它给程序带来的“面向对象的结构”给我留下了深刻的印象,但是我的应用程序非常以数据为中心(它获取和更新大量记录。但是我不使用任何存储过程)。不能使用hibernate吗?是否在hibernate之上编写了任何包装程序,我可以将其用于我的应用程序?感谢您的帮助。     

解决方法

        我不确定短语“ 0”的具体含义。不是所有的数据库应用程序都为“ 0”吗?但是,如果您要处理大量数据,则Hibernate可能不是最佳选择。 Hibernate最好是表示映射到数据库的对象模型,它可能在任何应用程序中都有作用,但是要执行ETL(提取/转换/加载)任务,您可能需要手工编写非常有效的SQL。     ,        原则上可以,但是它通常很慢。 Hibernate或多或少为从数据库检索到的每一行创建一个对象。如果您要处理大量数据,则性能会受到严重影响。同样,使用单个更新对许多行进行的更新仅具有非常基本的支持。 包装器无济于事,至少在对象创建问题上没有帮助。     ,        使用Hibernate有许多优点,当开发人员正确设置其对象模型时,通过对象与数据库进行交互会具有很大的吸引力,但实际上我发现Hibernate很棒,但是遇到问题时会非常沮丧例如性能和故障查找。 关于DA(数据访问)层的决策,我问自己一个问题。 我是否在编写需要运行其他数据库的应用程序? 如果答案是肯定的,那么我将考虑使用Hibernate之类的(ORM)。 如果不是,那么我通常只会通过Spring通常使用JDBC。 我觉得通过JDBC与数据库进行交互更加透明,并且更容易发现故障和性能调整。