Hibernate的轻量级替代品?

java database hibernate sqlite

86159 观看

14回复

28780 作者的声誉

我有一个用户java程序,我希望在轻量级数据库(如Derby或Sqlite)中存储数据。我想在我的程序中使用数据抽象层。Hibernate似乎需要大量的配置,并且对我所需要的东西来说太过分了。什么是Hibernate的轻量级替代品?

作者: Jared 的来源 发布者: 2008 年 11 月 17 日

回应 (14)


31

89531 作者的声誉

它仍然需要XML配置,但看看MyBatis(以前的iBatis)

作者: kgiannakakis 发布者: 17.11.2008 07:53

9

9485 作者的声誉

Cayenne一直很好。相对容易理解并使其运行起来。我发现逆向工程部分特别迷人。可以使用GUI完成配置。

作者: Benno Richters 发布者: 17.11.2008 08:36

1

14032 作者的声誉

你可能想看看prevayler(在sourceforge上)。一种更轻量级的持久化方法。或者您是否在考虑针对数据库进行报告?

作者: Stephan Eggermont 发布者: 17.11.2008 08:37

141

16054 作者的声誉

决定

如果使用注释,Hibernate需要零配置。它甚至可以在类路径中自动发现映射的bean!从简单性功率的角度来看,我没有看到任何替代方案。

它也可以将自己暴露为JPA,这是(恕我直言)甚至更简单。

作者: Vladimir Dyuzhev 发布者: 17.11.2008 10:45

14

316 作者的声誉

Apache Commons DBUtils从JDBC编程中获取了大量重复的gruntwork。它需要很少的配置,易于学习。它不是一个ORM框架(就像Hibernate和其他框架所提到的那样),但它确实自动将SELECT列映射到Java成员字段以及其他重复的JDBC编程任务。它确实很轻巧。

作者: Christopher Graziano 发布者: 16.01.2009 08:22

12

141 作者的声誉

你可以看看Ebean ORM。 - 没有会话 - 延迟加载才有效 - 使用和学习更简单的API。

作者: Rob 发布者: 12.11.2009 04:37

54

98416 作者的声誉

我的ORMLite库就是这样一种选择。它支持MySQL,Postgres,Microsoft SQL Server,H2,Derby,HSQLDB和Sqlite,并且可以轻松扩展到其他人。它使用注释来配置类,良好的Spring支持,灵活的查询构建器等。

作者: Gray 发布者: 25.06.2010 06:02

22

141555 作者的声誉

jOOQ附带了一个流畅的DSL,直接在Java中模拟SQL作为其主要目标的副作用:

  • 源代码生成
  • 完全支持标准SQL,包括SQL语言功能,如UNION,嵌套SELECT,所有类型的JOIN,别名(例如用于自联接)等
  • 广泛支持非标准SQL,包括UDT,存储过程,特定于供应商的功能等。

请阅读本文中的jOOQ:http://java.dzone.com/announcements/simple-and-intuitive-approach ,或直接访问网站:http//www.jooq.org

(免责声明,我为jOOQ背后的公司工作)

作者: Lukas Eder 发布者: 23.12.2010 08:14

6

3889 作者的声誉

我可以提出apache empire-db。http://incubator.apache.org/empire-db/

Apache Empire-db是一个开源关系数据持久性组件,它允许数据库供应商独立的动态查询定义以及安全和简单的数据检索和更新。与大多数其他解决方案(如Hibernate,TopLink,iBATIS或JPA实现)相比,Empire-db采用了截然不同的方法,特别注重编译时安全性,减少冗余并提高开发人员的工作效率。

一个例子:

// Define the query
DBCommand cmd = db.createCommand();
DBColumnExpr EMPLOYEE_FULLNAME= db.EMPLOYEES.LASTNAME.append(", ")
                        .append(db.EMPLOYEES.FIRSTNAME).as("FULL_NAME");
// Select required columns
cmd.select(db.EMPLOYEES.EMPLOYEE_ID, EMPLOYEE_FULLNAME);
cmd.select(db.EMPLOYEES.GENDER, db.EMPLOYEES.PHONE_NUMBER);
cmd.select(db.DEPARTMENTS.NAME.as("DEPARTMENT"));
cmd.select(db.DEPARTMENTS.BUSINESS_UNIT);
// Set Joins
cmd.join(db.EMPLOYEES.DEPARTMENT_ID, db.DEPARTMENTS.DEPARTMENT_ID);
// Set contraints and order
cmd.where(EMP.LASTNAME.length().isGreaterThan(0));
cmd.orderBy(EMP.LASTNAME);;
作者: Somatik 发布者: 11.01.2011 09:20

1

29858 作者的声誉

如果使用关系数据库不是必需的,请尝试使用db4o。

作者: Behrang 发布者: 16.02.2011 12:35

1

1209 作者的声誉

我创建了sormula作为重量级ORM的替代品。它支持CRUD,POJO友好,易于使用,配置和理解。零配置使用是可能的。www.sormula.org

作者: Jeff Miller 发布者: 10.12.2011 03:02

2

4273 作者的声誉

我可能有点迟到了,但是我 在2010年发布了ActiveJDBC,它是ActiveRecord模式的ORM实现,比Hibernate的依赖性轻10倍以上,运行时至少快两倍,并且需要零配置或注释。

作者: ipolevoy 发布者: 07.04.2012 09:32

-2

1 作者的声誉

风筝框架也是非常轻便的框架。它以最少的配置提供几乎所有数据库操作。

http://deipakgarg.github.com/Kite-ORM/

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

作者: DeipakGarg 发布者: 19.11.2012 06:30
32x32