簡體   English   中英

Grails - Hibernate XML 和域類

[英]Grails - Hibernate XML and Domain Classes

我繼承了一個 Grails 項目,該項目具有 Hibernate.xml 文件和域類 ZA559B87068921EEC8408。 這個線程讓我相信這是不正確的。 我正在將項目從 1.0.3 升級到 1.3.7。 據我了解,它在 1.0.3 中有效,但在 1.2 之后不再受支持。

Hibernate XML 文件提供了到對象的所有映射,但域中的相同對象具有擴展對象的屬性和方法,因此保留兩者都有意義。

  • 有什么辦法我仍然可以兩全其美(保持 Hibernate 映射以及域對象)?

  • 如果沒有,推薦的方法是什么?

更新:

I want to be able to have a Hibernate XML file Book.hbm.xml as well as a file /src/groovy/Book.groovy that has extra methods on the class.

從文檔看來,它們被視為兩個獨立的事物:

問:如何從 src/groovy 中的源訪問域類?

有時,您正在開發一些位於 src/groovy 中的實用程序類,並且您打算從服務和其他工件中使用它們。 但是,由於這些類是由 Grails 預編譯的,因此無法實例化它們並編寫諸如 Book.findByTitle("Groovy in Action") 之類的東西。 但幸運的是,有一種解決方法,因為可以這樣做:

import org.codehaus.groovy.grails.commons.ApplicationHolder //… def book = ApplicationHolder.application.getClassForName("library.Book").findByTitle("Groovy in Action"

如果有人想使用 Hibernate XML,這似乎不是一件正常的事情嗎?

您需要src/java中的 class 定義文件和grails-app/conf/hibernate中的 hibernate 映射文件,如Grails 1.0.3 中所述升級問題

According to this : If GORM (Grails Object Relational Mapping) is not flexible enough for your liking you can alternatively map your domain classes using Hibernate, either via XML mapping files or JPA annotations. 您將能夠將 map Grails 域類遷移到更廣泛的遺留系統上,並更靈活地創建數據庫模式。 最重要的是,您仍然可以調用 GORM 提供的所有動態持久化和查詢方法!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM