Доменный класс Grails. Случайное поле

0

У меня есть класс домена Grails:

class Main {

    Random r;

    static constraints = {
    }
}

и в базе данных я вижу, что Random его - tinyblob.

В документации ORM DSL я не нахожу, что это касается. Итак, может быть, кто-то может сказать мне, почему Random его a tinyblob?

Теги:
dsl
grails
random

1 ответ

2
Лучший ответ

Это сопоставление по умолчанию для неизвестного класса, который будет сериализоваться в поток байтов. Здесь пример сопоставления типа пользователя, вы можете реализовать Hibernate mapper и зарегистрировать его в Config.groovy.

Тем не менее, я считаю, что вам нужно объявить полевой переход:

class Main {
    Random r = new Random()
    static transients = ['r']
}

или просто для его закрытых - частные поля по умолчанию не отображаются.

  • 0
    Из интереса, есть ли transient ключевое слово в Groovy?
  • 0
    Нет AFAIK, что бы он делал вне контекста ORM? Это просто условное название для недвижимости. Если вы пишете static , вы можете опустить def . Groovy является динамическим, поэтому transients переменная, хотя и объявлена как Object, свободно используется в качестве коллекции String.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню