1

我有两个项目(app.ui 和模型)。models 是 app.ui 中的依赖项。我们有所有的实体类。app.ui 是一个 erai 项目,它使用 JPA 将对象保存在浏览器的存储中。

因此,我在注释和内容方面遵循文档。如果我在 app.ui 中创建一个类并尝试将其保存在本地,它就可以工作。但是,如果我在 models.jar 中有相同的类和完全相同的注释

java.lang.IllegalArgumentException: com.magick.models.shared.Strategy is not a known entity type
  org.jboss.errai.jpa.client.local.ErraiMetamodel.entity(ErraiMetamodel.java:92)
  org.jboss.errai.jpa.client.local.ErraiMetamodel.entity(ErraiMetamodel.java:108)
  org.jboss.errai.jpa.client.local.ErraiMetamodel.entity(ErraiMetamodel.java:113)
  org.jboss.errai.jpa.client.local.ErraiEntityManager.changeEntityState(ErraiEntityManager.java:180)
  org.jboss.errai.jpa.client.local.ErraiEntityManager.persist(ErraiEntityManager.java:469)
  app.client.local.strategy.StrategyProducer.saveStrategyLocally(StrategyProducer.java:83)
  app.client.local.strategy.StrategyProducer.saveStrategiesInBrowser(StrategyProducer.java:78)
  app.client.local.strategy.StrategyProducer.access$3(StrategyProducer.java:76)
  app.client.local.strategy.StrategyProducer$1$1.callback(StrategyProducer.java:68)
  app.client.local.strategy.StrategyProducer$1$1.callback(StrategyProducer.java:1)

有任何想法吗?

提前致谢。

4

1 回答 1

1

为了完成这项工作,需要在浏览器的本地存储中持久化的模型应该被注释@Entity并且应该驻留在客户端包中,因为 erai 忽略了 persistence.xmlerrai-jpa-client并在客户端包中对其进行扫描。

即在 GWT 编译的包中。

也尝试使用浏览器插件来检查本地存储的内容。

希望这可以帮助。

于 2014-12-24T14:37:40.120 回答