我的应用程序有多个EntityManagers。当我扩展一个类型时,它适用于第一个EntityManger,但是对于第二个EntityManager,如果我扩展相同的类型,我会收到此错误:
错误:元数据查询失败:/ mytest / Metadata。无法解析或导入元数据:无法在不同的元数据存储中为MyPart注册相同的构造函数。请为每个元数据存储定义一个单独的构造函数。遇到服务器端错误 - 请参阅此对象上的entityErrors集合以获取更多详细信息(...)
这是什么意思?我怎么想定义单独的构造函数?
这就是我扩展实体的方式:
entityManager.metadataStore.registerEntityTypeCtor("MyPart", MyPart);
感谢。
答案 0 :(得分:0)
使用multiple EntityManagers时,您应该使用单个MetadataStore
并在EntityManagers中共享它。
这样,您只需registerEntityTypeCtor
一次。
如果您从单个“masterManager”开始并加载/注册其元数据,则可以使用masterManager.createEmptyCopy()来获取具有相同MetadataStore的新空管理器。