用于小型项目的简易Java ORM

用于小型项目的简易Java ORM,java,orm,persistence,Java,Orm,Persistence,我目前正在寻找一种非常简单的方法,使简单的Java对象持久化到数据库和/或XML和/或其他类型的数据存储中 对于公司的大型项目,我会使用hibernate、ibatis、datanucleus等。但对于小型私人项目,这将占用80%以上的工作时间 我还发现了“simpleORM”,但这一个需要将数据相关的东西编码到数据模型类中。我真的不喜欢那种风格,所以我没有选择 您有没有建议使用一些库,它只接收我的对象并按原样保存/加载它们,或者只进行很少的配置?您可以将对象序列化到任何文件/数据库中 如果您想

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

对于公司的大型项目,我会使用hibernate、ibatis、datanucleus等。但对于小型私人项目,这将占用80%以上的工作时间

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


您有没有建议使用一些库,它只接收我的对象并按原样保存/加载它们,或者只进行很少的配置?

您可以将对象序列化到任何文件/数据库中


如果您想定义映射,那么您必须进行更多的配置,而标准或映射程序(如Hibernate)并没有在上面添加那么多内容。

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

设置开销最小。您可以让JPA根据对象定义为您的应用程序创建模式和表,这样您就不需要手动启动任何sql。您所需要提供的只是实体上的一些注释和一个配置文件persistence.xml。

您可以试试。这是一个非常简单的OXM库,无需预先配置即可工作

示例代码:

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

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

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

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

这里还有一些简单使用模式的工作示例


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

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

试试看。它是JDBC上的一个轻量级层。它几乎为JDBC调用增加了零开销,而且非常容易学习。

你可以试试SnakeORM 它没有很多运行时依赖项,使用JPA注释并遵循DAO模式


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

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

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

注意Hibernate也是一个JPA实现,因此我建议您,因为您似乎已经熟悉它了。+1对于一些项目来说,这是一个非常合适的选项,通常被忽略了iBatis的新版本称为myBatis,现在使用注释。它非常非常简单(我现在使用它,不需要XML).非常感谢Gray!这正是我搜索的内容。我想,你是作者吧?我也在为android开发应用程序,尽管android的数据保存方式已经很好了,但我会在那里试用你的软件。我是Chris。活跃用户群。欢迎反馈。看起来很有希望!有更好的吗比正常情况更糟@ccleve@softwarevamp比Norm好?当然不是!我写的。有什么可以改进它?你知道python中的任何notorm吗?