2011-03-08 177 views
1

我打算使用AciveJDBC的play web框架進行持久化。活動JDBC的問題在於它需要檢測。我的問題是,玩ActiveJDBC的框架

我需要在服務器上重新啓動以查看對需要檢測的類所做的更改嗎?

回答

1

作爲免責聲明,我從來沒有試過你說過的話。但從我對Play的工作原理的瞭解,這將取決於您將ActiveJDBC與Play整合在一起。

據我所知,這個集成沒有現有的模塊。這意味着你將需要創建一些東西來插入你的模型(基於ActiveJDBC)與Play模型。例如,與Siena插件的功能類似。

一旦完成,沒有額外的更改播放將只使用Eclipse編譯器重新編譯Java類,但它不會生成任何檢測。爲了實現該儀器,您可能需要調整重新編譯過程,以便它也生成儀器。

所以,簡短的回答,默認儀器將不起作用。

以某種方式相關的問題:你真的需要ActiveJDBC嗎?它提供的是JPA/Hibernate(Play中的默認值)不會有什麼作用?我瞭解「Active Record」 行爲的吸引力,但即使在Ruby社區中也存在一些對其「魔法」的抱怨。你確定JPA不夠好嗎?與播放工作時使用,將節省您的時間和頭痛,並Hibernate的一個大的團隊和大量的開發經驗ORM,這使它成爲一個偉大的工具的...

+0

感謝您詳細的答覆。我實際上是試圖遠離休眠(當它工作時它工作,當它失敗時......)。無論如何,我會相信hibernate/jpa不會在將來出現意外的行爲。 – joshua 2011-03-09 13:45:40

3

約書亞:這個從來沒有嘗試,但得到的答覆會是否定的,你將不得不重新啓動服務器以改變模型的效果。但是,如果您練習真正的TDD並編寫完全測試模型的測試,則不必重新啓動。對於Pere Villega來說:你的答案在標誌上,而Hibernate確實是一個流行的框架,但它「是一個偉大的工具」是一個意見問題,恕我直言,它不是,因此我開發了ActiveJDBC。

一個小事實:早在2009年,ActiveJDBC的原始版本在應用程序啓動後在內存中執行了一些工具,這很好,但由於某些容器的類加載器行爲,這已被證明不可靠。

此外,我開發了一個類似於Ruby on Rails的Java Web框架:http://code.google.com/p/activeweb/,它與ActiveJDBC集成。目前它將重新編譯/重新加載控制器,但不會重新編譯/儀器模型。不過,我計劃在未來將這種能力引入框架。

歡呼聲,

伊戈爾