gpt4 book ai didi

Grails:GORM 和 BitSets?

转载 作者:行者123 更新时间:2023-12-04 00:52:57 26 4
gpt4 key购买 nike

我在 official documentation 中没有看到任何内容关于不受支持的持久性数据类型,所以我假设应该处理 Groovy 语言中可用的类型。但是,对于以下域类:

class DocGroupPermissions {

Workgroup workgroup
Document document;
BitSet permissions = new BitSet(2)

void setPermissions(boolean canRead, boolean canWrite) {
setReadPermissions(canRead)
setWritePermissions(canWrite)
}

void setReadPermissions(boolean canRead) {
permissions.set(0,canRead)
}
void setWritePermissions(boolean canWrite) {
permissions.set(1,canWrite)
}

boolean getReadPermissions() {
return permissions.get(0)
}

boolean getWritePermissions() {
return permissions.get(1)
}


static belongsTo = [workgroup:Workgroup, document:Document]

static constraints = {
workgroup(nullable:false, blank:false)
document(nullable:false, blank:false)
}
}

我得到:

2009-11-15 16:46:12,298 [main] ERROR context.ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageSource': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is org.hibernate.MappingException: An association from the table doc_group_permissions refers to an unmapped class: java.util.BitSet

有人遇到过这个吗?

最佳答案

并非所有类型都被映射 - 我认为这更多是来自 hibernate 方面的问题,实际上(ORM 层需要知道如何持久化它不知道的对象)。

查看 joda-time plugin ,它带有一个特殊的库,可以将 joda Dates 类映射到 hibernate,然后你必须在映射闭包中指定它。

您应该尝试查看是否有人为 BitSet 编写了休眠持久化程序,或者尝试使用不同的类。

关于Grails:GORM 和 BitSets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1739365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com