JVM言語

Groovy

GroovyクラスとともにEbeanを使用できます。特に必要なことはありません。GroovyビーンにJPAアノテーションを付けるだけです。

//GROOVY CODE (generates the getters and setters etc)
package test
import javax.persistence.*;

@Entity
@Table(name="f_forum")
public class PersonG{
  @Id
  Integer id

  @Column(name="title")
  String name

  @OneToMany(cascade=CascadeType.ALL)
  List<Topic> topics;
  }
EbeanはJavaで使うときとまったく同じ方法で使用できます。
// GROOVY CODE
package test

import com.avaje.ebean.*

public class MainEbean{
  public static void main(String[] args) {

    PersonG g = Ebean.getReference(PersonG.class, 1);

    String name = g.getName();

    List<PersonG> list = Ebean
      .find(PersonG.class)
      .fetch("topics")
      .findList()

    println "Got list "+list

    list.each() {
      print " $\{it.id} $\{it.name} \n"
      print " GOT DETAILS: "+it.topics
    };

    println "done";
  }
}

Groovyの統合がさらに必要になったら、追加したい内容の提案をしてください。

Scala

ScalaとともにEbeanを使用できます。前述のとおり、Scala「ビーン」にJPAアノテーションを付けるだけです。通常どおりの方法です。

2010年5月にEbean 2.6.0がリリースされ、Scala 2.8のサポートが含まれるようになりました。つまり、Scala Optionと可変コレクションタイプ(Scala 2.8可変Buffer、Set、Map)をJavaコレクションタイプではなくエンティティビーンで使用できるようになりました(つまり、エンティティビーンをScalaで書くことができます)。

2012年10月にScalaのサポートはコードベースから削除されました。これは次の理由によるものです。

  • メンテナンスが難しくなってきており(Scalaバージョンの非互換な変更)ScalaタイプをJDBCなどを呼び出す一致するJavaタイプに変換するのがますます難しくなっていた。
  • 使用されることがほとんどなかった。
  • コミュニティでScalaのサポートを推進する人がいなかった。

Scalaのサポートを推進することに興味がある人は、古いコードはgithubのソース履歴にあります。