Hibernate 与 iBatis

发布于 2024-09-24 01:28:34 字数 449 浏览 3 评论 0原文

我们正在构建一个相当以数据库为中心的 Web 应用程序。我们最初开始使用 iBatis。
我们一度认为 iBatis 可能不是很有用,原因如下:
1. 需要申请。代码来确定我们是否需要从数据库插入/更新/删除
2. 应用。代码将从面向对象转向面向数据库
3.需要为许多琐碎的事情(例如实体版本)编写大量样板代码(以避免脏数据库更新)
还有更多...
现在,在决定使用 Hibernate 后,我们已经完成了一半多了。我们正在寻找真正令人信服的理由来证明我们选择 Hibernate 而不是 iBatis 的合理性。

我知道 iBatis 和 Hibernate 都是很好的框架,它们可以按照自己的方式很好地满足不同的需求。尽管如此,我们还是试图证明我们选择 Hibernate 的合理性,以节省我们的努力。

听取各位专家的意见对我们会有很大帮助。请注意,我们强烈支持保留 Hibernate。

We are building a fairly database centric web application. We initially started off using iBatis.
At one point we thought iBatis may not be very useful for the following reasons:
1. Need for the appl. code to determine if we need to insert/update/delete from DB
2. Appl. code will deviate from being object oriented to being database oriented
3. Need to write a lot boiler plate code for many trivial things like entity versions(to avoid dirty DB updates)
and many more...
Now we are more than half way through after deciding to go with Hibernate. We are looking at real CONVINCING reasons to justify our choice of Hibernate over iBatis.

I understand iBatis and Hibernate are good frameworks that work well their own ways for different needs. Nevertheless we are trying to save our efforts by trying to justify our choice of Hibernate.

It would be of great help for us to hear from you experts. Please note we are strongly in favor of retaining Hibernate.

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

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

发布评论

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

评论(1

百合的盛世恋 2024-10-01 01:28:34

Hibernate 遵循 JPA 规范,这允许您不直接依赖(供应商锁定)Hibernate。如果需要,您可以切换到不同的实现,例如 TopLink。

使用 Hibernate,您可以使代码 90%(如果不使用直接 JDBC 查询,则为 100%)独立于数据库(使用 HQL),即相同的代码可以在 MSSQL、MySQL 或 Oracle 上运行(无需进行任何重大更改)到数据访问层)。

Hibernate 的性能非常高,支持缓存(一级和二级)。

与 iBatis 相比,Hibernate 是一个非常好的 ORM(对象关系映射),在 iBatis 中,您通常最终会在 XML 中手动编码不同的查询,并且大多数时候使用 hibernate 的人最终会返回带有数据的映射(由于从数据库实体配置映射的开销) Java 中的类),因此最终得到的代码中,单个字段的删除或添加会导致代码发生重大变化。

Hibernate follows the JPA specification which allows you not directly dependent (vendor lock-in) on Hibernate. You can switch to a different implementation like TopLink if the need arises.

With Hibernate you can make your code 90% (or 100% if you don't use direct JDBC queries) database independent (using HQL) i.e., the same code will work on MSSQL, MySQL or Oracle (w/o any major changes made to the Data Access Layer).

Hibernate is very high per-formant with support for caching (both first level and second level).

Hibernate is a very good ORM (Object Relational Mapping) as compared to iBatis where you mostly end up hand coding different queries in XML and most of the time people using hibernate end up returning maps with data (due to overhead of configuring mapping from DB entities to Classes in Java) and hence end up with code where a single field deletion or addition causes major changes in the code.

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