Performance ColdFusion表单中的最佳实践

Performance ColdFusion表单中的最佳实践,performance,hibernate,orm,coldfusion,persistence,Performance,Hibernate,Orm,Coldfusion,Persistence,冷聚变问题 在过去的6个月里,我们一直在使用ColdFusion 9,虽然我们已经使用了一些新功能,但我们避免使用ORM,因为我们通常在同一个非常大的网站上工作。多年来,我们一直在使用ApacheOBJ,但后来我们又回到CF,并使用我们自己从表生成的DAO对象来处理基本CRUD。这些对象是基本的,需要为模式更改手动重新生成,并且根本不为表关系建模。为了补充这些,我们有一组用于多表查询的网关类。尽管所有这些都是定制的,但是这些DAO和网关确实让我们能够很好地控制我们执行的SQL,例如使用锁定提示和

冷聚变问题

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

历史教训到此为止:关键是我们即将推出一个新网站,它将从头开始编写,用于处理金融交易。我们通常会使用前面提到的DAO对象来处理CRUD,然后是用于多表联接的网关对象集,但我认为我们可能会研究使用烘焙的CF ORM

因此,考虑到这一点,我很想听听其他人在繁忙的金融网站上使用ORM的经验教训、技巧和窍门。例如:

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


提前谢谢!简短回答,选择ORM

刷新SQL的最佳方法是什么

ormflush()

对于事务性ORM,您有什么建议

CFScript中的
事务{}
工作正常,甚至可以跨DSN工作,在9.0.1中有了很大的改进!监视

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

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

HQL呢

怎么样?:)当你想要一个对象数组,但没有什么能阻止你使用好的旧

什么时候我们应该自己动手做SQL

当你觉得HQL不能做你想做的事情时


请注意:但是请记住,9.0.1版中的某些观点不再适用。另一篇“ORM gotchas”的帖子回答了我很多更详细的问题