تنظیمات پیش فرض Play Framework در زمان استفاده از زبان برنامه نویسی جاوا و JPA بدین صورت است که فقط در کنترلر هایی که با انوتیشن @Transactional مشخص شده اند JPA Transaction وجود دارد و در سایر کلاس ها خطای No EntityManager bound to this thread بوجود می آید.
برای رفع این مشکل باید با استفاده از متد استاتیک withTransaction از کلاس JPA یک Transaction جدید ایجاد کرد:
public YourResult getResult(String someStr) throws Throwable {
return JPA.withTransaction(() -> (YourResult) JPA.em()
.createNamedQuery(NAMED_QUERY_GET_RESULT).setParameter(1, str)
.getSingleResult());
}