在2.3.x Java中的Play Framework中为JPA建模超类

时间:2015-03-01 08:22:06

标签: postgresql jpa playframework playframework-2.3

我正在尝试在Play Framework for Java版本2.3.7中使用JPA。

在Play 1.x之前,有一个Model超类使得执行查询非常容易,例如“List persons = Person.findAll();”。

javaJpa是否有Model超类来执行此操作?

3 个答案:

答案 0 :(得分:3)

Play 2没有play.db.jpa.Model课程

但您可以使用play.db.jpa.JPA

并找到所有做的

JPA.em().createQuery("select p from Person p").getResultList();

其中create查询包含JPQL,Person是实体名称。

有关详细信息,请查看sample/computer-database-jpa

同时检查Play DocsSimilar

答案 1 :(得分:1)

我认为第2场比赛没有play.db.jpa.Model

最接近的应该是Ebean和SpringJPA,我使用和推荐,因为Ebean即将removed in favor of JPA并且JPA已经成熟并且有很好的文档记录。

作为一个简单的例子,那些看起来像:

<强> Ebean

FindAllUsage

List<Person> people = Person.find.all();

人物模型

@Entity
public class Person extends Model
{
  @Id
  public Long id;
  public String value;

  public static final Model.Finder<Long, UserPermission> find =
    new Model.Finder<Long, UserPermission>(Long.class,UserPermission.class);

}

<强> SpringJPA

FindAllUsage

List<Person> people = personRepository.findAll();

人员存储库

@Named
@Singleton
public interface PersonRepository extends CrudRepository<Agent,Long> {
}

人物模型

@Entity
public class Person
{
  @Id
  public Long id;
  public String value;

}

答案 2 :(得分:0)

在Play 2中,Model类默认扩展Ebean ORM,它具有save, update, find.byId, find.all等常规方法。