Playframework: JPA error occurred (cannot create EntityManagerFactory)

I started participating in one Play project in Java, downloaded the code, created the Play Project, added the libraries and installed everything I could, and then created the database. In the end, everything seemed fine, but when I run localhost: 9000, I get this error:

JPA error
@66kcmab39
Internal Server Error (500) for request GET /favicon.ico

JPA error
A JPA error occurred (Unable to build EntityManagerFactory): Unable to get the default  Bean Validation factory
play.exceptions.JPAException: Unable to build EntityManagerFactory
    at play.db.jpa.JPAPlugin.onApplicationStart(JPAPlugin.java:227)
    at play.Play.start(Play.java:427)
    at play.Play.detectChanges(Play.java:530)
    at play.Invoker$Invocation.init(Invoker.java:100)
    at Invocation.HTTP Request(Play!)
Caused by: org.hibernate.HibernateException: Unable to get the default Bean Validation factory
at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.java:104)
at org.hibernate.cfg.AnnotationConfiguration.applyBeanValidationConstraintsOnDDL(AnnotationConfiguration.java:477)
at org.hibernate.cfg.AnnotationConfiguration.applyConstraintsToDDL(AnnotationConfiguration.java:429)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:403)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1206)
at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1459)
at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:193)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:1086)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890)
at play.db.jpa.JPAPlugin.onApplicationStart(JPAPlugin.java:225)
... 4 more
Caused by: java.lang.reflect.InvocationTargetException
at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.java:95)
... 13 more
Caused by: org.hibernate.HibernateException: Unable to build the default ValidatorFactory
at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:322)
at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:83)
... 14 more
Caused by: javax.validation.ValidationException: Unable to find a default provider
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:264)
at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111)
at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:319)
... 15 more

Playback Version: 1.1.1
MySQL5
OS Ubuntu

Any idea what could be wrong?
Thanks
kvgr

+3
source share
3 answers

Good answer: you need to add the Hibernate Validator to your application.

+2
source

Make sure JPA annotations (e.g. @Id and @OneToMany):

(1) .

@Id
public Long id;

(2) , .

private Long id;

@Id
public Long getId(){
    return id;
}

, .

// ERROR

@Id
private Long id;

private List<Child> children;


public Long getId(){
    return id;
}

@OneToMany
public List<Child> getChildren(){
    return id;
}

, , :

@Constraints.Required

@Formats.DateTime( = "--" )

....

. . .

+2

In addition, to add a validator, add this to your .yml dependencies

Application dependencies

# Application dependencies

require:
    - play
    - org.hibernate -> hibernate-core 3.6.9.Final:
        force: true
    - org.hibernate -> hibernate-validator 4.2.0.Final   
0
source

All Articles