[java-2.4] IllegalArgumentException: Not an entity: class models.User

1,590 views
Skip to first unread message

Johan Dahlberg

unread,
Aug 4, 2015, 9:32:36 AM8/4/15
to play-framework
I finally got my application to run successfully after upgrading from 2.3 to 2.4. But when I deployed it to my server I got the following error. The thing is that my model is looking like it has done since i migrated to JPA/Hibernate 6 months ago. Anyone that has seen this error before?

java.lang.IllegalArgumentException: Not an entity: class models.User
at org.hibernate.jpa.internal.metamodel.MetamodelImpl.entity(MetamodelImpl.java:203)
at org.hibernate.jpa.criteria.QueryStructure.from(QueryStructure.java:139)
at org.hibernate.jpa.criteria.CriteriaQueryImpl.from(CriteriaQueryImpl.java:173)
at dao.AbstractDAO.lambda$findOne$66(AbstractDAO.java:172)
at dao.AbstractDAO$$Lambda$39/1694746611.apply(Unknown Source)
at play.db.jpa.DefaultJPAApi.withTransaction(DefaultJPAApi.java:136)
at play.db.jpa.DefaultJPAApi.withTransaction(DefaultJPAApi.java:80)
at dao.AbstractDAO.findOne(AbstractDAO.java:169)
at models.User.authenticate(User.java:117)
at controllers.Application.authenticate(Application.java:123)
at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$5$$anonfun$apply$5.apply(Routes.scala:2827)
at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$5$$anonfun$apply$5.apply(Routes.scala:2827)
at play.core.routing.HandlerInvokerFactory$$anon$4.resultCall(HandlerInvoker.scala:136)
at play.core.routing.HandlerInvokerFactory$JavaActionInvokerFactory$$anon$14$$anon$3$$anon$1.invocation(HandlerInvoker.scala:127)
at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:70)
at play.http.DefaultHttpRequestHandler$1.call(DefaultHttpRequestHandler.java:20)
at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:94)
at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:94)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:40)
at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:70)
at play.core.j.HttpExecutionContext.execute(HttpExecutionContext.scala:32)
at scala.concurrent.impl.Future$.apply(Future.scala:31)
at scala.concurrent.Future$.apply(Future.scala:492)
at play.core.j.JavaAction.apply(JavaAction.scala:94)
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:105)
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:105)
at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:104)
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:103)
at scala.Option.map(Option.scala:146)
at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:103)
at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:96)
at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:524)
at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:524)
at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:560)
at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:560)
at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$14.apply(Iteratee.scala:537)
at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$14.apply(Iteratee.scala:537)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)


Johan Dahlberg

unread,
Aug 5, 2015, 9:31:03 AM8/5/15
to play-framework
The crash occurs at "cq.from" in this method and classType is a result of User.class:

public <A> Optional<T> findOne(String field, A value) {
        try {
            return (Optional<T>) jpaApi.withTransaction(() -> {
                CriteriaBuilder cb = JPA.em().getCriteriaBuilder();
                CriteriaQuery<T> cq = cb.createQuery(classType);
                Root<T> root = cq.from(classType);
                cq.where(cb.equal(root.get(field), value));
                try {
                    T result = JPA.em().createQuery(cq).getSingleResult();
                    return Optional.ofNullable(result);
                } catch(NoResultException ex) {
                    return Optional.empty();
                }
            });
        } catch (Throwable throwable) {
            throwable.printStackTrace();
            return Optional.empty();
        }
}

/Johan
Reply all
Reply to author
Forward
0 new messages