代码之家  ›  专栏  ›  技术社区  ›  Visionary Software Solutions

格瑞尔:格姆和比特集?

  •  3
  • Visionary Software Solutions  · 技术社区  · 16 年前

    我在里面什么也没看到 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:12298[main]ERROR context.ContextLoader-上下文初始化失败 org.springframework.beans.factory.BeanCreationException:创建名为“messageSource”的bean时出错:初始化bean失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为“transactionManager”的bean时出错:设置bean属性“sessionFactory”时无法解析对bean“sessionFactory”的引用;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的bean时出错:调用init方法失败;嵌套异常为org.hibernate.MappingException:表doc_group_permissions中的关联引用了未映射的类:java.util.BitSet

    以前有人碰到过这个吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Jean Barmash    16 年前

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

    查看 joda-time plugin

    您应该尝试查看是否有人为位集编写了hibernate持久化程序,或者尝试使用其他类。

    推荐文章