Как проверить версию приложения Grails GORM - PullRequest
0 голосов
/ 08 марта 2019

Я выполняю некоторую отладку кода, который выдает ошибки в определенных полях во время запроса к базе данных, и некоторые действия конструктора метода загрузки.Мы устанавливаем свойства вручную для объекта перед созданием экземпляра класса / модели, однако по какой-то причине эти поля (DateCreated, DateUpdated) возвращают значение NULL вскоре после их передачи.

Мы проверили, что эти поляна самом деле НЕ имеет значения null до этого момента, поэтому мы обеспокоены тем, что GORM удаляет и пытается заменить эти поля из-за соглашения об именах, и, возможно, нам следует оставить свои собственные ручные настройки этих полей и позволить GORM управлять ими.

Есть ли способ узнать, какую версию GORM использует приложение grails, и, возможно, получить некоторое представление о том, как это управляет этими полями и как использовать собственный сгенерированный конструктор для этого объекта?

Ответы [ 2 ]

0 голосов
/ 10 марта 2019

Мы устанавливаем свойства вручную для объекта перед созданием экземпляра класса / модели ...

Невозможно установить свойства объекта перед его созданием.

... поэтому мы обеспокоены тем, что GORM удаляет и пытается заменить эти поля из-за соглашения об именах

Вы не сказали, что такое имена свойствно если они dateCreated и lastUpdated, то GORM будет обрабатывать эти свойства специально.Если вы не хотите этого, вы можете отключить автоматическую отметку времени, как показано ниже ...

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

См. Раздел 8.1.9 в http://gorm.grails.org/6.1.8/hibernate/manual/index.html#eventsAutoTimestamping.

0 голосов
/ 08 марта 2019

Зависит от того, какую версию для грааля вы используете.Предполагая, что вы находитесь на более новой версии Grails.Версия GORM должна быть указана в файле gradle.properties внутри вашего проекта grails, и она выглядит следующим образом:

grailsVersion=3.3.2
gormVersion=6.1.8.RELEASE
gradleWrapperVersion=3.5

Вы также можете найти ее из дерева зависимостей gradle с помощью этой задачи gradle:

./gradlew dependencies
...