简单的Java ORM小项目



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

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

我还发现了"simpleORM",但它需要在数据模型类中编写与数据相关的代码。我不太喜欢那种风格,所以我没有这个选择。

你对一些库有什么建议吗?这些库只是简单地接受我的对象,并按原样保存/加载它们,或者只需要很少的配置?

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

尝试规范。它是JDBC之上的轻量级层。它几乎为JDBC调用增加零开销,并且非常容易学习。

你可以把你的对象序列化成一个文件或数据库。

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

你可以试试xstream。这是一个非常简单的OXM库,无需预先配置。

示例代码:

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

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

设置开销最小。您可以让JPA创建您的模式&从您的对象定义为您的表,所以您不需要手动处理任何sql。您所需要提供的只是实体上的一些注释和一个配置文件persistence.xml。

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

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

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

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

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

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

您也可以尝试我的小ORM库Java2DB。我专门为那些只想快速方便地访问数据库的小项目创建了它。在GitHub上查看

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

最新更新