Java EntityStoreException:不支持的属性类型id 9

Java EntityStoreException:不支持的属性类型id 9,java,xodus,Java,Xodus,使用Xodus版本1.3.124,数据库将抛出: jetbrains.exodus.entitystore.EntityStoreException: Unsupported property type id 9 at jetbrains.exodus.entitystore.tables.PropertyTypes.getPropertyType(PropertyTypes.java:56) at jetbrains.exodus.entitystore.tables.Prop

使用Xodus版本
1.3.124
,数据库将抛出:

jetbrains.exodus.entitystore.EntityStoreException: Unsupported property type id 9
    at jetbrains.exodus.entitystore.tables.PropertyTypes.getPropertyType(PropertyTypes.java:56)
    at jetbrains.exodus.entitystore.tables.PropertyTypes.entryToPropertyValue(PropertyTypes.java:86)
    at jetbrains.exodus.entitystore.PersistentEntityStoreImpl.getPropertyValue(PersistentEntityStoreImpl.java:843)
    at jetbrains.exodus.entitystore.PersistentEntityStoreImpl.getProperty(PersistentEntityStoreImpl.java:827)
    at jetbrains.exodus.entitystore.PersistentEntity.getProperty(PersistentEntity.java:114)
尽管财产已登记:

@Override
  public PersistentEntityStore getPersistentEntityStore(String xodusRoot, String dir, boolean isReadOnly) {

    if(persistentEntityStoreCache == null) {
      persistentEntityStoreCache = buildPersistentEntityStoreCache();
    }
    PersistentEntityStore entityStore = persistentEntityStoreCache.get(xodusRoot + dir);
    if (entityStore == null) {
      Environment environment = getEnvironment(xodusRoot, dir);
      PersistentEntityStoreConfig config = new PersistentEntityStoreConfig();
      config.setManagementEnabled(false);
      config.setDebugSearchForIncomingLinksOnDelete(true);
      config.setRefactoringHeavyLinks(true);
      entityStore = PersistentEntityStores.newInstance(config, environment, "persistentEntityStore");
      PersistentEntityStore finalEntityStore = entityStore;
      entityStore.executeInTransaction(
              txn -> {
                finalEntityStore.registerCustomPropertyType(
                    txn, EmbeddedEntityIterable.class, EmbeddedEntityBinding.BINDING);
                finalEntityStore.registerCustomPropertyType(
                    txn, EmbeddedArrayIterable.class, EmbeddedEntityBinding.BINDING);
                persistentEntityStoreCache.put(xodusRoot + dir, finalEntityStore);
              });
    }
    PersistentEntityStore persistentEntityStore = persistentEntityStoreCache.get(xodusRoot + dir);
    return persistentEntityStore;
  }
此属性最初保存为:

metaDataHashMap.put("uniqueProperties", uProperties);
finalEntity.setProperty(metadataProperty, new EmbeddedEntityIterable(metaDataHashMap));

这里可能有什么问题?

我已经找到了问题的根本原因

最初,
EmbeddedEntityIterable
位于
com.mybusiness.model.EmbeddedEntityIterable
下,然后移动到
com.mynew business.model.EmbeddedEntityIterable


这就解决了问题。但是,it XODU应该有一个替换或至少替换引用的功能,在这样的情况下,模型被移动。

在我的情况下,问题是因为我在某些事务中使用了自定义类型(使用
PersistentEntityStore.registerCustomPropertyType()
),而在其他事务中没有。