6

我有一个 Eclipse RCP 应用程序,其中一个 EMF 模型实例填充在内存中。存储该模型以供外部系统访问的最佳方式是什么?访问可能发生在运行期间和之后。

模型的读取和写入非常平衡,每秒可以发生多次。

我认为使用 Hibernate + Teneo + EMF 填充的数据库会很好地工作,但我想知道还有哪些其他选项。

4

2 回答 2

5

我将 CDO(连接数据对象)与 EMF 结合使用来做类似的事情。如果您使用 Eclipse wiki 中的示例,那么运行它不需要太长时间。几个警告:

  1. 对于经常更改的数据,您可能希望使用 nonAudit 模式来保持持久性。否则,您将在每次提交时保存 EObject 的新版本,同时保留旧版本。

  2. 您可以选择在每次数据更改时提交,也可以选择以较低频率提交,具体取决于您需要发布更新的频率。

  3. 如果您选择这样做,您也有相当灵活的锁定选项。

我的应用程序使用 Derby 来实现持久性,尽管它很快就会迁移到 SQL Server。

Eclipse Live ( http://live.eclipse.org/node/635 )上有一个 1 小时的网络研讨会,介绍了 CDO 并提供了一些很好的使用示例。

于 2009-08-13T03:55:04.393 回答
1

除非性能是一个真正的问题(除非你的模型很大,否则不会有问题),我会和 Teneo 一起做繁重的工作。即使速度很慢,您也可以使用 JPA 注释对其进行调整。

于 2009-07-12T09:32:37.813 回答