単一のユーザーがいるJavaプログラムで、DerbyやSqliteなどの軽量データベースにデータを保存したい。プログラムでデータ抽象化レイヤーを使用したい。Hibernateが表示される多くの設定を必要とし、私が必要とするものに対してはやり過ぎです。Hibernateに代わる軽量の代替物とは何ですか?
注釈を使用する場合、Hibernateはゼロに近い構成を必要とします。クラスパスでマップされたBeanを自動検出することもできます!シンプルさの両方からおよびパワーの観点から、それに代わるものはありません。
また、それ自体をJPAとして公開することもできます。これは(IMHO)さらに簡単です。
私の ORMLite ライブラリはそのような選択肢の1つです。 MySQL、Postgres、Microsoft SQL Server、H2、Derby、HSQLDB、およびSqliteをサポートし、他のユーザーに簡単に拡張できます。アノテーションを使用して、クラス、優れたSpringサポート、柔軟なクエリビルダーなどを構成します。
XMLの設定が必要ですが、 MyBatis(以前のiBatis) をご覧ください。
jOOQ Javaの主な目標の副作用として、SQLを直接シミュレートする流なDSLが付属しています。
この記事でjOOQについて読んでください: http://Java.dzone.com/announcements/simple-and-intuitive-approach 、またはWebサイトに直接アクセスしてください http:// www。 jooq.org
(免責事項、私はjOOQの背後にある会社で働いています)
Apache Commons DBUtils は、JDBCプログラミングの反復的な面倒な作業の多くを取り除きます。設定はほとんど必要なく、簡単に習得できます。これはORMフレームワークではありません(ここで説明するHibernateや他のフレームワークとは異なります)が、SELECT列のJavaメンバーフィールドおよびその他の反復的なJDBCプログラミングタスクへのマッピングを自動化します。確かに軽量です。
Ebean ORM をご覧ください。 -セッションなし-遅延読み込みは機能します-使用および学習するためのシンプルなAPI。
カイエン は私に役立っています。比較的理解しやすく、簡単に実行できます。リバースエンジニアリングの部分は特に魅力的です。 GUIを使用して設定を行うことができます。
Apache empire-dbを提案できます。 http://incubator.Apache.org/empire-db/
Apache Empire-dbは、データベースベンダーに依存しない動的なクエリ定義だけでなく、安全でシンプルなデータの取得と更新を可能にするオープンソースのリレーショナルデータ永続化コンポーネントです。他のほとんどのソリューションと比較してHibernate、TopLink、iBATIS、またはJPAの実装では、Empire-dbはcompile-time safety、冗長性の削減、開発者の生産性の向上。
例:
// 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);;
私はパーティーに少し遅れるかもしれませんが、ActiveRecordパターンのORM実装である2010年に ActiveJDBC をリリースしました。依存関係はHibernateより10倍以上、少なくともランタイムであり、構成や注釈は不要です。
(sourceforgeの)prevaylerをご覧ください。永続性に対するやや軽量なアプローチ。または、DBに対してレポートを行うことを考えていましたか?
リレーショナルデータベースの使用が必須ではない場合は、db4oを試してください。
sormula をヘビーウェイトORMの代替として作成しました。 CRUD対応、POJOフレンドリー、使用、構成、および理解が簡単です。ゼロ構成の使用が可能です。 www.sormula.org