适用于小型项目的Easy Java ORM

时间:2011-04-21 13:54:41

标签: java orm persistence

我目前正在寻找一种非常简单的方法,可以在数据库和/或XML和/或其他类型的数据存储中保持简单的Java对象。

对于公司的大型项目,我会使用hibernate,ibatis,datanucleus或类似的东西。但是对于小型私人项目,这将占用超过80%的工作时间。

我还发现了“simpleORM”,但是这个需要将数据相关的东西很难编写到数据模型类中。我真的不喜欢那种风格,所以这对我来说不是一个选择。

您是否对某些库提出了建议?这些库只是简单地接受我的对象并按原样保存/加载它们或者配置很少?

11 个答案:

答案 0 :(得分:15)

您可以尝试ORMLite,它被设计为hibernate和iBatis的简单替代品。我是主要作者。它支持许多JDBC数据库并具有Android后端。以下是本手册的入门部分,其中包含一些代码示例。

  

http://ormlite.com/docs/getting-started

这里也是简单使用模式的工作示例。

  

http://ormlite.com/docs/examples

答案 1 :(得分:3)

您可以将对象序列化为文件/数据库。

如果你想定义映射,那么你必须进行更多的配置,那里的标准OR映射器(比如Hibernate)并没有真正添加那么多。

答案 2 :(得分:3)

您可以尝试xstream。这是非常简单的OXM库,没有前期配置。

示例代码:

XStream xstream = new XStream();
// marshalling
String xml = xstream.toXML(domainObject);
// unmarshalling
domainObject = xstream.fromXML(xml);

答案 3 :(得分:3)

试试Norm。它是基于JDBC的轻量级层。它为JDBC调用增加了几乎零开销,并且非常容易学习。

答案 4 :(得分:1)

对于关系数据库持久性,请尝试其中一个JPA实现,例如OpenJPA

设置开销很小。您可以让JPA创建您的架构&从您的对象定义中为您提供表,因此您不需要手动编写任何sql。您需要提供的只是实体上的一些注释和单个配置文件persistence.xml。

答案 5 :(得分:1)

您可能需要考虑www.sormula.org。最小的编程/注释和简单的学习曲线。它使用标准的SQL和JDBC,因此可以与任何关系数据库一起使用。

答案 6 :(得分:1)

您也可以使用jEasyORM(http://jeasyorm.sourceforge.net/)。 在大多数情况下,它会自动将对象映射到数据库表,而无需进行配置。

答案 7 :(得分:1)

你可以试试SnakeORM http://sourceforge.net/p/selibs/wiki/Home/ 它没有很多运行时依赖项,使用JPA注释并遵循DAO模式。

披露:我是这个项目的作者

答案 8 :(得分:0)

好吧,如果你想要一个ORM,那么这意味着你想要将对象映射到表,列到字段等。在这种情况下,如果你想避免更大的ORM实现的麻烦,你可以只使用普通的旧JDBC ,使用简单的DataAccessor模式。但是,这并没有直接转换为XML。

如果你想只是将对象保留在某个地方,并且只关心“理解”Java中的对象,那么序列化是一种简单有效的方法,正如前面提到的 Thomas

答案 9 :(得分:0)

Onyx Database是一个功能非常丰富的Java NoSQL数据库替代方案。它是具有多种持久模式的纯java(缓存嵌入式数据库保存到远程保存到远程集群。它有一个嵌入式ORM,可能是我使用过的最简单的持久性API。

答案 10 :(得分:0)

您还可以尝试使用我的小ORM库Java2DB。我专门为那些只想快速,轻松地访问其数据库的小型项目创建的。在GitHub上签出。