我繼承了一個Grails項目,該項目同時具有Hibernate .xml文件和模型的Domain類。這thread使我相信這是不正確的。我正在將該項目從1.0.3升級到1.3.7。我理解它的方式,它在1.0.3中工作,但在1.2之後不再支持。Grails - 休眠XML和域類
Hibernate XML文件提供了對象的所有映射,但Domain中的相同對象具有擴展對象的屬性和方法,所以兩者都有意義保留。
有什麼辦法我仍然可以有兩全其美(保持 Hibernate映射還有 域對象)的?
如果不是,推薦的方法是什麼?
UPDATE:
我希望能有一個Hibernate XML文件Book.hbm.xml以及具有對類額外的方法文件/src/groovy/Book.groovy 。
從它看起來像它們是作爲兩個獨立的事物處理的文檔:
問:我怎樣才能訪問的src來源域類 /Groovy的?
有時候,你正在開發一些 住在 的src/Groovy和您打算使用的服務等文物 實用程序類。 但是,由於這些類是由Grails預編譯的 ,因此它不是 可以實例化它們並編寫 這樣的東西,例如Book.findByTitle(「Action中的Groovy 」)。不過幸運的是,有 一個解決辦法,因爲這是可能做到這 :
進口 org.codehaus.groovy.grails.commons.ApplicationHolder // ... DEF書= ApplicationHolder.application.getClassForName(「庫。書「)。findByTitle(」常規 在行動」
不看起來像這將是做,如果有人想使用Hibernate XML很正常的事情
JamesA - 請參閱上面的我的編輯。我真正想要的是能夠使用額外的方法來擁有Book.hbm.xml以及src/groovy/Book.groovy,並且能夠調用這些方法。你能看到我更新的上面的編輯? – skaz 2011-05-30 14:39:59
Book.hbm.xml告訴Hibernate如何將數據庫映射到您的Book.groovy類,並且Grails添加GORM動態方法。你還有困難嗎? – jamesallman 2011-06-01 04:31:17
我不確定。我按照你的建議做了,但是由於我發佈的一個(可能不相關的)問題沒有得到更多的進一步發現:http://stackoverflow.com/questions/6177570/grails-hibernate-domain-nullpointerexception – skaz 2011-06-02 14:01:46