Ebean
この項目「Ebean」は途中まで翻訳されたものです。(原文:英語版 "Ebean" 08:34, 6 May 2014 (UTC)) 翻訳作業に協力して下さる方を求めています。ノートページや[//ja.wikipedia.org/w/index.php?title=Ebean&action=history 履歴、翻訳のガイドラインも参照してください。要約欄への翻訳情報の記入をお忘れなく。(2014年9月) |
開発元 | Avaje |
---|---|
最新版 |
3.3.1
/ 2014年4月4日 |
リポジトリ | |
プログラミング 言語 | Java |
対応OS | クロスプラットフォーム |
プラットフォーム | Java |
サイズ | 5.8 MB (展開後) |
サポート状況 | アクティブ |
種別 | オブジェクト関係マッピング |
ライセンス | LGPL license |
公式サイト | www.avaje.org |
Ebeanは、Javaのためのオブジェクト関係マッピング (ORM)ライブラリである。JPA (Java Persistence API) やJDO (Java Data Objects) よりもシンプルに使えて、かつ理解しやすいように設計されている。
シンプルなAPI
[編集]EbeanはJPAよりもシンプルなAPIを持っている。これは、セッションレスのアーキテクチャを持つことにより可能となった。EbeanはJPAの EntityManagerやJDOのPersistenceManagerを必要としない。これによりbeansの付け外しや、flushing/clearingとEntityManagersの「セッション管理」に関連した問題のコンセプトは不要となった。これにより、EbeanのAPIを学習、理解して使用することはより簡単になった。
リレーショナル機能
[編集]Ebeanは(JPAと同じく)完全なORMの機能を有しているが、「SQL」の機能も組み込まれている。方法として、正確にSQLを操作するのは多大な開発側の労力が必要となるので、ストアドプロシージャを呼び出すか、もっと単純に「リレーショナル」なアプローチで解決している。 The ultimate goal for Ebean is to combine the best ORM features from JPA with the best 'Relational' features from products like MyBatis into a single persistence framework.
オブジェクト関係マッピング
[編集]Ebean uses the same mapping as JPA with its @Entity, @Table, @OneToMany etc. annotations and xml. The mapping of Entity beans should be compatible between Ebean and JPA.
Going beyond JPA Ebean supports Java Generics and fetching "Partial" objects with its Query object.
例
[編集]//idによりcustomerを見つける
Customer customer = Ebean.find(Customer.class, 1);
// joinsを使った、より複雑なクエリ
List<Order> order =
Ebean.find(Order.class)
.join("customer")
.join("customer.billingAddress")
.join("customer.shippingAddress")
.join("details")
.join("details.product", "name")
.where().eq("shipDate", today)
.findList();