JVM 语言

Groovy

你可以将 Ebean 与 Groovy 类一起使用。你不需要做任何特别的事情。只需使用 JPA 注释对你的 groovy bean 进行注释即可。

//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;
  }
你可以像在 Java 中一样使用 Ebean。
// 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

你也可以将 Ebean 与 Scala 一起使用。同样,使用 JPA 注释对你的 scala “bean” 进行注释,就像你通常所做的那样。

2010 年 5 月发布了 Ebean 2.6.0,其中包括对 Scala 2.8 的支持。这意味着你可以在你的实体 bean 中使用 Scala Option 和可变集合类型(Scala 2.8 可变 Buffer、Set 和 Map),而不是 java 集合类型(因此几乎可以将你的实体 bean 写成 Scala)。

2012 年 10 月,Scala 支持从代码库中删除。这是因为

  • 维护起来很痛苦(scala 版本之间的不兼容更改),而且将 Scala 类型转换回匹配的 java 类型以调用 JDBC 等越来越困难。
  • 采用率很低
  • 社区中没有人支持 Scala 支持

如果有人有兴趣支持 Scala 支持,旧代码将在 github 上的源代码历史记录中。