序列化EMF模型实例的最佳方法是什么?

时间:2009-06-26 22:05:47

标签: java hibernate eclipse-plugin eclipse-rcp eclipse-emf

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

模型的读写非常均衡,可以每秒发生几次。

我认为使用Hibernate + Teneo + EMF填充的数据库可以很好地工作,但我想知道其他选项是什么。

2 个答案:

答案 0 :(得分:5)

我正在使用CDO(连接数据对象)和EMF来做类似的事情。如果您使用Eclipse wiki中的示例,则运行它不需要太长时间。几点需要注意:

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

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

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

  4. 我的应用程序使用Derby进行持久化,但不久它将被迁移到SQL Server。

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

答案 1 :(得分:1)

我会选择Teneo去做繁重的工作,除非性能是一个真正的问题(除非你的模型很大,否则不会这样)。即使它很慢,您也可以使用JPA注释进行调整。