5

我需要为项目使用面向对象的数据存储库。
它将介于 wiki 和 CMS 之间。

我还不是持久性领域的专家。
我想 Hibernate 和 Jackrabbit 是要走的框架,对吧?

据我所知,Jackrabbit不支持 对象实例和数据存储之间进行映射的
注释或其他便利技术。

另一方面,Hibernate支持 开箱即用的版本控制。

你会建议我用什么?
我可以以某种方式结合这两个框架吗?

如果可能的话,您能否总结一下这两个框架的优缺点?

谢谢!

编辑
我真的很想使用不需要我负责将对象映射到表并返回的东西。我为什么要?我们生活在哪个世纪?;)

我对 JAXB 有很好的经验(将对象映射到 XML 并以面向对象的方式返回),但是 JAXB 在数据库中没有用处。

4

6 回答 6

4

db4o是一个面向对象的数据库。由于它是面向对象的,因此您可以直接存储对象,因此您不必维护任何与表的映射。

于 2009-06-18T21:12:58.160 回答
2

试试NeoDatis。它具有 db4o 的所有优点(本机查询、无映射、速度快),只是它完全免费(即使用于商业用途)。

更新:上次我尝试 NeoDatis(2010 年中)时,它仍然有一些严重的错误。例如,断电可能导致数据库损坏。谨防!

于 2009-06-19T00:32:55.963 回答
2

Oracle Berkeley DB Java 版

是一个直接的持久层(没有映射到关系数据库)。

于 2009-06-18T19:58:04.393 回答
0

DB4o 和 Neodatis 是要走的路……

我认为如果您的项目是为了盈利,您将需要商业许可证......如果是这样,请使用 neodatis......

于 2009-06-25T18:58:13.100 回答
0

我会选择休眠模式。仅仅因为它拥有如此庞大的社区。是的,我个人对 Hib 有很多(很好的)经验,所以我有偏见。

至于版本控制,好吧,自己实现它——这并不难,只需制作一个副本(反射是一个助手),然后保存对象。

于 2009-06-18T17:32:46.007 回答
0

您还可以考虑使用JPA 的. 虽然它们并不是自切片面包以来最热门的东西,但它们正在被 Java 社区采用,并被 Sun 社区推为新标准。不过,Hibernate 是安全且经过验证的,因此我个人会坚持使用它。

于 2009-06-18T19:06:14.620 回答