2016-03-15 42 views
1

我知道从here在EclipseLink的动态实体创造的可能性。我试图创建Dynamic实体并将它们映射到已存在于相同持久性单元中的静态实体,如here中给出的示例中所述。JPA [Eclipselink] - 如何刷新创建的动态实体的元数据?

我使用refreshMetadata(具有属性的空地图)EntityManagerFactoryImpl的刷新元数据。 但是动态实体没有被列入entitymanager工厂的元模型中。

有人可以让我知道我要去哪里错了?

回答

1

我希望他们不会像动态实体API映射添加到本机的EclipseLink会话,而JPA元模型是从JPA映射建设。 refreshMetadata用于使用任何新的JPA元数据(orm.xml等)重建本地EclipseLink会话,但不会以其他方式进行。

+0

那么有没有在,我可以使用动态和静态的实体,仍然能够有元数据的所有实体的方法吗? –

0

我可以通过下面的代码片段将与当前会话的新的元模型刷新元模型:

Metamodel metamodel = new MetamodelImpl((AbstractSession) dynamicHelper.getSession()); 
    ((EntityManagerFactoryImpl) emf).setMetamodel(metamodel); 

虽然这并没有解决我的主要问题,它解决了我有问题在这里问。