Grails возвращает только id объекта - PullRequest
0 голосов
/ 11 октября 2018

У меня есть сущность Product и внутри сущности, у меня есть сущность Contry.

Когда я выполняю Product.find или Product.get и получаю значение страны, значения моей страны имеют значение только id, но в странеУ меня есть идентификатор, имя и код [идентификатор: 1, код: ноль, имя: ноль], но эта ситуация периодически, в 99% случаев загружаются значения [идентификатор: 1, код: XXX, имя: ГГГГ].

Я думаю, что это проблема с кешем, но я не симулирую в среде разработчика, просто в рабочей среде

Мой домен Contry:

class Country implements Serializable {

private static final long serialVersionUID = 1

def i18NService

String name
String code

static mapping = {
    cache true
}

Country(String code, String name) {
    this()
    this.name = name
    this.code = code
}

Это граилс/ ошибка кэша hibernate?Как мне смоделировать эту ситуацию?

1 Ответ

0 голосов
/ 11 октября 2018

Вы не указали свой домен Продукта, так что трудно сказать наверняка, но это звучит как проблема ленивого извлечения.По сути, указанный доменный объект может быть или не быть выбран вместе с другим вашим доменным объектом.

Вы можете увидеть документацию здесь: http://docs.grails.org/latest/ref/Database%20Mapping/lazy.html, и есть довольно важные последствия для производительности как рыхлых, так и ленивых выборок, так что не просто меняйте это вслепую.По сути, если вы всегда будете нуждаться в Country, когда будете использовать Product, вам, вероятно, стоит сделать это с нетерпением.Если нет, обновите страну по мере необходимости.

...