相关疑难解决方法(0)

如何在Grails中记录SQL语句

我想登录控制台或文件,Grails所做的所有查询,以检查性能.

我没有成功配置这个.

任何想法都会有帮助.

sql grails logging

82
推荐指数
6
解决办法
5万
查看次数

Grails - 未保存的瞬态实例异常

我正在尝试将Grails应用程序从1.0.3升级到1.3.7并遇到异常:

 object references an unsaved transient instance - save the transient instance before flushing:
Run Code Online (Sandbox Code Playgroud)

我没有在触发的代码中进行任何保存.它在以下代码中

public static Season getCurrentSeason() {
        String yearString = ConfigurationHolder.config.year
        assert yearString != null: "need to configure season"
        int year = Integer.parseInt(yearString)

        Affiliation nfl = Affiliation.nfl;
        return Season.findBySeasonKeyAndLeague(year, nfl)
    }
Run Code Online (Sandbox Code Playgroud)

对Affiliation.nfl的调用是:

public static Affiliation getNfl() {
           if (cacheNFL == null) {
            String key = ConfigurationHolder.config.nfl
            cacheNFL = Affiliation.findByKey(key)
        }
        return cacheNFL;
    }
Run Code Online (Sandbox Code Playgroud)

如果我删除cacheNFL并使其每次都进行实际获取,则代码可以正常工作.我的问题是:

  • 为什么之前有效呢?看起来像使用不是当前Hibernate查询(我可能是错误的,假设是问题)的缓存对象进行获取将永远不会被支持.
  • 除了获取数据库之外,还有这个问题吗?
  • 如何判断我是在访问数据库还是进入Hibernate缓存(我不太了解Hibernate).有输出可以告诉我吗?

grails hibernate

2
推荐指数
1
解决办法
2498
查看次数

标签 统计

grails ×2

hibernate ×1

logging ×1

sql ×1