grails - Grails仅返回实体的ID

标签 grails groovy hibernate-mapping hibernate-cache

我有一个实体产品,在实体内部,我有Contry实体。

当我执行Product.find或Product.get并获取国家/地区值时,我的国家/地区值仅具有ID值,但是在国家/地区实体中我具有ID,名称和代码
[id:1,代码:null,名称:null],但是这种情况是间歇性的,有99%的时间会加载值[id:1,代码:XXX,名称:YYYYY]。

我认为这是一个缓存问题,但我没有在开发人员环境中进行仿真,而只是在生产环境中进行仿真

我的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
}

这是grails /休眠缓存错误吗?我如何模拟这种情况?

最佳答案

您没有显示您的产品域,因此很难确定,但这听起来像是一个急切/懒惰的获取问题。基本上,引用的域对象可能会或可能不会与您的另一个域对象一起获取。

您可以在此处查看文档:http://docs.grails.org/latest/ref/Database%20Mapping/lazy.html,急切和懒惰获取都有相当重要的性能含义,因此不要盲目更改。基本上,如果您在使用产品时总是需要国家(地区),则应该将其设为急切。如果没有,则应根据需要刷新国家/地区。

关于grails - Grails仅返回实体的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52758867/

相关文章:

grails - 如何将Grails Controller 映射到 View

java - 如何解析SoapUI中的复杂结构?

java - Hibernate org.hibernate.MappingException 用于非注释字段

grails - 为什么不能在Grails中导入此Groovy库?

grails - Grails Fullcalendar时区问题

regex - 更改gradle中的文件扩展名

java - 无法从 groovy 中的 json 数组中过滤对象

java - Hibernate不会从模型到数据库生成表

hibernate - 当两个线程更新同一个对象时可能会出现 hibernate 异常?

grails - 如何在Grails应用程序中创建作业和队列