【问题标题】:Best practice in ColdFusion ORMColdFusion ORM 的最佳实践
【发布时间】:2011-05-03 04:46:59
【问题描述】:

一个关于ColdFusion ORM的问题

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

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

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

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

提前致谢!

【问题讨论】:

标签: performance hibernate orm coldfusion persistence


【解决方案1】:

简短的回答,是的!去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 不能满足您的需求时。

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

【讨论】:

  • 谢谢亨利。其他“ORM gotchas”帖子回答了我很多更详细的担忧。
猜你喜欢
  • 1970-01-01
  • 2016-05-19
  • 1970-01-01
  • 2010-12-15
  • 1970-01-01
  • 1970-01-01
  • 2011-04-12
  • 1970-01-01
  • 2016-06-14
相关资源
最近更新 更多