在测试中使用HibernateDatastore时,是什么导致域的静态映射中的字符串“默认值”导致错误?

问题描述

在应用程序中更新测试时,创建新的HibernateDatastore时,域中的字符串默认值会导致问题。尝试访问域时出现错误

原因:org.h2.jdbc.JdbcSQLException:未找到表“ PERSON”;

由于某种原因,该表根本没有建立,但是删除字符串默认值将起作用。

@ToString(includeNames=true,includePackage=false)
class Person{
EnumType type = EnumType.Human
Long age = 10
String name = "StandardName"


static mapping = {
version false
type defaultValue: EnumType.Human
age defaultValue: 10
name defaultValue: "StandardName"
}

}

UnitTest

class PersonServiceSpec extends Specification implements DataTest,BuildDataTest {
    @Shared
    InterviewModelService interviewModelService

    @Shared
    HibernateDatastore hibernateDatastore

    @Shared
    PlatformTransactionManager transactionManager


    def setupSpec() {
        mockDomain Person
        hibernateDatastore = new HibernateDatastore(Person)
        transactionManager = hibernateDatastore.getTransactionManager()
        interviewModelService = hibernateDatastore.getService(PersonService)
    }


    def setup() {
    }

    def cleanup() {
    }


    @Transactional
    void "test criteria builder for getting interview models"() {
        setup:
        Person.build(name: 'steve')

        when: 
        def x = Person.findAll()

        then: 
        x.size() == 3
    }




}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...