2010-10-31 38 views
3

ColdFusion的ORM的問題最佳實踐ORM

我們使用ColdFusion 9,在過去6個月,而我們使用了一些新的功能,ORM是我們已經避免,因爲我們平時工作在同一個非常大的網站上。多年來我們一直使用Apache OBJ,但後來我們又回到了CF,並使用我們自己的表生成的DAO對象來處理基本的CRUD。這些對象是基本的,需要手動重新生成模式更改,並且根本不建模表關係。爲了補充這些,我們有一組用於多表查詢的網關類。雖然所有這些都是非常定製的,但是,這些DAO和網關確實可以很好地控制我們執行的SQL,例如使用鎖定提示和優化器提示。我們的網站很忙,但我們的數據庫非常高效。

這麼多歷史課:這一點是我們有一個即將推出的新網站,將從頭開始編寫處理金融交易。我們通常會使用我們前面提到的DAO對象來處理CRUD,然後使用通常的多表連接的網關對象集,但我認爲我們可能會使用嵌入的CF ORM進行調查...

因此,考慮到這一點,我很想聽聽其他人在忙碌的金融網站上使用ORM的經驗教訓,技巧和竅門。例如:

刷新SQL的最佳方法是什麼?您對事務性ORM有哪些提示?您如何爲ORM設置開發和活動網站?關於HQL呢?我們什麼時候應該自己手動完成SQL呢?

在此先感謝!

+0

[使用CF-ORM的ColdFusion 9中需要注意的事項](http://stackoverflow.com/questions/2480377/things-to-watch-out-for-in-coldfusion-9- with-cf-orm) – Henry 2010-11-02 19:03:48

回答

4

簡短回答,是!去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如果u意味着DB製作部分

什麼HQL?

怎麼樣? :)使用它時,你想要一個對象的數組,但沒有什麼阻止你使用舊的<cfquery>

什麼時候我們應該只是自己做SQL呢?

當你覺得HQL沒有做你想做的事。

退房:Things to watch out for in ColdFusion 9 with CF-ORM但請記住,有些點不再適用於9.0。1

+0

感謝Henry。其他'ORM陷阱'帖子回答了我很多更詳細的關注。 – 2010-11-01 07:53:44