如何检查GORM版本的grails应用程序

问题描述 投票:0回答:2

我正在对在数据库查询期间在某些字段上引发错误的代码以及load方法的一些构造函数进行一些调试。我们在创建类/模型的实例之前在对象上手动设置属性,但由于某些原因,这些字段(DateCreated,DateUpdated)在传递它们后不久就返回null。

我们已经验证这些字段实际上在此之前是非空的,所以我们担心GORM会因为命名约定而删除并尝试替换这些字段,也许我们应该自己手动设置这些字段,并允许GORM管理它们。

有没有办法看到grails应用程序使用的是哪个版本的GORM,也许可以了解这是如何管理这些字段,并使用自己生成的构造函数来处理这个对象?

java spring hibernate grails gorm
2个回答
0
投票

取决于您使用的grails版本。假设您使用的是较新的grails版本。应该在grails项目内部的gradle.properties文件中指定GORM版本,它看起来像这样:

grailsVersion=3.3.2
gormVersion=6.1.8.RELEASE
gradleWrapperVersion=3.5

您还可以使用此gradle任务从gradle依赖关系树中找到它:

./gradlew dependencies

0
投票

在创建类/模型的实例之前,我们在对象上手动设置属性...

在创建对象之前无法在对象上设置属性。

...所以我们担心的是,由于命名约定,GORM正在删除并尝试替换这些字段

你还没有说出属性名称是什么,但如果它们是dateCreatedlastUpdated,那么GORM将特别对待这些属性。如果您不想这样,可以关闭自动时间戳,如下所示......

class Person {
    Date dateCreated
    Date lastUpdated
    static mapping = {
        autoTimestamp false
    }
}

http://gorm.grails.org/6.1.8/hibernate/manual/index.html#eventsAutoTimestamping的8.1.9节。

© www.soinside.com 2019 - 2024. All rights reserved.