当谈到 grails 时,我是一个完全的菜鸟(当谈到 groovy 时我仍然很菜鸟),所以如果这是一个愚蠢的问题,我深表歉意。
我正在构建一个简单的 Web 应用程序,我想根据文件系统对象(即目录结构和文件类型)而不是数据库数据来控制我的应用程序中的部分域。这样做有多容易,或者域对象与 GORM 如此纠缠,以至于不值得尝试?
当谈到 grails 时,我是一个完全的菜鸟(当谈到 groovy 时我仍然很菜鸟),所以如果这是一个愚蠢的问题,我深表歉意。
我正在构建一个简单的 Web 应用程序,我想根据文件系统对象(即目录结构和文件类型)而不是数据库数据来控制我的应用程序中的部分域。这样做有多容易,或者域对象与 GORM 如此纠缠,以至于不值得尝试?
几周前我自己也遇到了这个问题。
您只需将以下代码段添加到Domain Class
.
def isAttached()
{
return false
}
现在它没有连接到您的数据库。瞧!
有几种方法可以做到这一点。
首先,您可以将映射到文件系统数据的属性声明为瞬态,并在调用 getter / setter 时转到文件系统(您必须覆盖它们)。如果您需要它们始终在内存中,您也可以使用 onLoad 加载它们。
第二 - Hibernate 处理持久性。Hibernate 允许您定义自己的用户类型,它可以以任何您想要的方式处理持久性。这样,它可能会更透明地发生在你身上(尽管你必须确保你对 hibernate 有很好的了解,以确保没有任何副作用,我不确定)。
http://i-proving.com/space/Technologies/Hibernate/User+Types+in+Hibernate