Grails ApplicationCommand hibernate session issue

时间:2016-10-20 10:47:21

标签: java hibernate grails gorm

我在项目中使用grails 3.0.17和h2db。

我创建了ApplicationCommand来填充一些测试数据。我像'grails gradle generateTestData'那样运行它。

class GenerateTestData implements ApplicationCommand {

    @Override
    boolean handle(ExecutionContext executionContext) {
        //Host is domain object
        Host.withNewSession { session ->
           //some domain opertions
        }

        return true
    }
}

我还没有创建db时运行generateTestData命令。 Bootstrap.groovy脚本创建数据库并填充引导数据。然后我的脚本执行一些save()调用。我通过Squirrel看到DB中的数据是正确的。但是当我使用'grails run-app'运行我的应用程序时,它会抛出'UserNotFound'异常(但是用户在数据库中,通过Squirrel检查)。

因此,会话或数据库连接似乎有问题。

当我运行grails run-app(db尚未创建)时,Bootstrap.groovy脚本创建数据库并填充数据。一切正常。

我无法理解命令有什么问题。谁能帮助我? (即使运行带有空句柄()函数的命令,App也无法找到用户。

0 个答案:

没有答案