我可以将 hibernate 用于以数据为中心的应用程序吗?

发布于 2024-11-14 22:51:16 字数 274 浏览 9 评论 0原文

我正在浏览 hibernate 教程,他们说 hibernate 不适合以数据为中心应用。它为程序提供的“面向对象的结构”给我留下了深刻的印象,但我的应用程序非常以数据为中心(它获取和更新大量记录。但我不使用任何存储过程)。我不能使用 hibernate 吗?是否有任何通过 hibernate 编写的包装器,我可以将其用于我的应用程序?如有任何帮助,我们将不胜感激。

I wag going through a hibernate tutorial, where they say that hibernate is not suitable for data centric application. I am very much impressed by the 'object oriented structure' it gives to the program, but my application is very much data centric(it fetches and updates huge number of records. But I dont use any stored procedures). Cant I use hibernate?Are there any wrappers written over hibernate, which I can use for my application?Any help is appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

╰つ倒转 2024-11-21 22:51:16

我不确定短语以数据为中心的具体含义。难道所有的数据库应用程序都不以数据为中心吗?但是,如果您确实处理大量数据,Hibernate 可能不是最佳选择。 Hibernate 最好地表示映射到数据库的对象模型,它可能在任何应用程序中发挥作用,但要执行 ETL(提取/转换/加载)任务,您可能需要手动编写非常高效的 SQL。

I am not sure about specific meaning of phrase data centric. Aren't all database applications data centric? However, if you do process tons of data, Hibernate may not be the best choice. Hibernate is best to represent object models mapped to the database and it may have role in any application, but to do ETL (extract/transform/load) tasks you may need to write very efficient SQL by hand.

原谅我要高飞 2024-11-21 22:51:16

原则上可以,但速度往往很慢。 Hibernate 或多或少地为从数据库检索的每一行创建一个对象。如果您对大量数据执行此操作,性能会受到严重影响。此外,使用单个更新对多行进行更新仅提供非常基本的支持。

包装器无济于事,至少在对象创建问题上是这样。

In principal you can, but it tends to be slow. Hibernate more or less creates an object for every row retrieved from the database. If you do this with large volumes of data, performance takes a serious hit. Also updates on many rows using a single update have only very basic support.

A wrapper won't help, at least with the object creation issue.

陪你搞怪i 2024-11-21 22:51:16

使用 Hibernate 有很多优点,当一个开发人员获得正确的对象模型时,通过对象与数据库交互会很有吸引力,但在实践中,我发现最初 Hibernate 很棒,但当你遇到问题时会变得非常令人沮丧比如性能和故障查找。

当涉及到 DA(数据访问)层的决策时,我问自己这个问题。
我是否正在编写需要运行不同数据库的应用程序?

如果答案是肯定的,那么我会考虑像 Hibernate 这样的(ORM)。
如果不是,那么我通常会通过 Spring 使用 JDBC。

我觉得通过 JDBC 与数据库交互更加透明,更容易发现故障和调整性能。

There are many advantages of using Hibernate, when one gets their object model correct as a developer there is a lot of appeal in interacting with the database via objects but in practice I have found initially Hibernate is great but becomes very frustrating when you come against issues like performance and fault finding.

When it comes to decision on the DA (Data Access) layer I ask myself this question.
Am I writing an application which has a requirement to run an different databases?

If the answer is yes then I will consider an (ORM) like Hibernate.
If its no then I will normally just use JDBC normally via Spring.

I feel that interacting with the database via JDBC is a lot more transparant and easier to find faults and performance tune.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文