از Play 2.4 استراتژی تیم Play این شده که global state ها مثل همین کلاس JPA از Play حذف بشه و همه چی بر مبنای Dependency Injection جلو بره. global state ها بیشتر کار راه اندازن و برای مواردی که شما می خواهید توضیه می کنیم اگر از Play 2.3 استفاده می کنید، پروژه خود را با Spring یا Guice ستاپ کنید و اگر از Play 2.4 استفاده می کنید از JPAApi استفاده کنید تا کنترل کاملتری بر روی معماری و کامپوننت های پزوژه خود داشته باشید.
برای مثال شما برای تشخیص خطای UniqueConstraintViolation باید یک try catch برای متد persist بگذارید و خطای PersistenceException را catch کنید و بصورت زیر آن را پردازش کنید:
Task task = new Task();
task.setTaskTitle("test task");
try {
JPA.em().persist(task);
}catch (PersistenceException e){
System.out.println("----"+e.getCause().getCause().getMessage());
}