我正在尝试在Play Framework for Java版本2.3.7中使用JPA。
在Play 1.x之前,有一个Model超类使得执行查询非常容易,例如“List persons = Person.findAll();”。
javaJpa是否有Model超类来执行此操作?
答案 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。
答案 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
等常规方法。