我目前正在寻找一种非常简单的方法,可以在数据库和/或XML和/或其他类型的数据存储中保持简单的Java对象。
对于公司的大型项目,我会使用hibernate,ibatis,datanucleus或类似的东西。但是对于小型私人项目,这将占用超过80%的工作时间。
我还发现了“simpleORM”,但是这个需要将数据相关的东西很难编写到数据模型类中。我真的不喜欢那种风格,所以这对我来说不是一个选择。
您是否对某些库提出了建议?这些库只是简单地接受我的对象并按原样保存/加载它们或者配置很少?
答案 0 :(得分:15)
您可以尝试ORMLite,它被设计为hibernate和iBatis的简单替代品。我是主要作者。它支持许多JDBC数据库并具有Android后端。以下是本手册的入门部分,其中包含一些代码示例。
这里也是简单使用模式的工作示例。
答案 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上签出。