我继承了一个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