performance - ColdFusion ORM 的最佳实践

标签 performance hibernate orm coldfusion persistence

一个ColdFusion ORM的问题

过去 6 个月我们一直在使用 ColdFusion 9,虽然我们使用了一些新功能,但我们一直避免使用 ORM,因为我们通常在同一个非常大的网站上工作。多年来我们一直使用 Apache OBJ,但后来我们又回到 CF 并使用我们自己的从表生成的 DAO 对象来处理基本的 CRUD。这些对象是基本对象,需要针对模式更改手动重新生成,并且根本不对表关系建模。为了补充这些,我们有一组用于多表查询的网关类。虽然所有这些都是定制的,但是这些 DAO 和网关确实让我们能够很好地控制我们执行的 SQL,例如使用锁定提示和优化器提示。我们的网站很忙,但我们的数据库非常高效。

历史课就这么多:重点是我们即将推出一个新站点,该站点将从头开始编写以处理金融交易。我们通常会使用前面提到的 DAO 对象来处理 CRUD,然后是用于多表连接的常用网关对象集,但我认为我们可能会研究使用内置 CF ORM...

考虑到这一点,我很想听听其他人可能必须分享的关于在繁忙的金融网站上使用 ORM 的经验教训、提示和技巧。例如:

刷新 SQL 的最佳方法是什么?您对事务性 ORM 有什么建议?您如何为 ORM 设置开发和实时站点? HQL 呢?我们什么时候应该自己手动执行 SQL?!

提前致谢!

最佳答案

简短的回答,是的!选择 ORM!!!

刷新 SQL 的最佳方法是什么?

ormflush()

您对事务性 ORM 有什么建议?

<cftransaction>transaction {}在 CFScript 中工作正常,甚至可以跨 DSN 工作,在 9.0.1 中有了很大改进!看http://tv.adobe.com/watch/max-2010-develop/coldfusion-undocumented/

您如何为 ORM 设置开发和实时站点?

与没有 ORM 相同,但您可以查看 this.ormSettings.dbCreate如果你指的是数据库创建部分

HQL 怎么样?

那怎么办? :) 当你想要一个对象数组时使用它,但没有什么能阻止你使用旧的 <cfquery>

我们什么时候应该自己手动执行 SQL?!

当您觉得 HQL 没有按照您的意愿行事时。

checkout :Things to watch out for in ColdFusion 9 with CF-ORM但是请记住,有些观点对于 9.0.1 不再适用

关于performance - ColdFusion ORM 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4065414/

相关文章:

javascript - 在 React 渲染方法上解构 Prop 时的性能问题

arrays - 计算不适合 RAM 的数组中重复元素的有效算法

hibernate - 如何在 hibernate 中检索不同的根实体行数?

sql - 选择 ISAM 而不是 SQL

Django ORM : Select items where latest status is `success`

MATLAB 提高求和运算符的性能

c# - .NET CLR 内存\GC 时间百分比

spring - 可以从 SQL 脚本引用另一个 SQL 文件

oracle - Hibernate SequenceGenerator 返回不正确的 nextval

python - 如何在模型级别分页数据(django)