Hi, I just found a phenomenon which I would like to discuss before posting a bug.
I have a UnitTest using CDITestRunner which accesses JPA persistence via Repositories. The _first_ test accessing the Repository gets an NPE from JPA - see below. Debugging shows, that at first access the SetAttribute in this case is NULL!! public JoinBuilder(Criteria<R, R> criteria, JoinType joinType, SetAttribute<? super P, R> set) { this(criteria, joinType); this.set = set; <-- is NULL at first run!! } So the JoinBuilder cannot create a correct Predicate and returns null. Solution was: run some unnecessary query @Before, so that everything is initialized Is this something known to the informed user, that I missed until now? Many thanks and best regards, Thomas java.lang.NullPointerException at org.hibernate.jpa.criteria.path.AbstractFromImpl.constructJoin(AbstractFromImpl.java:385) at org.hibernate.jpa.criteria.path.AbstractFromImpl.join(AbstractFromImpl.java:373) at org.hibernate.jpa.criteria.path.AbstractFromImpl.join(AbstractFromImpl.java:364) at org.apache.deltaspike.data.impl.criteria.predicate.JoinBuilder.joinMap(JoinBuilder.java:153) at org.apache.deltaspike.data.impl.criteria.predicate.JoinBuilder.build(JoinBuilder.java:108) at org.apache.deltaspike.data.impl.criteria.QueryCriteria.predicates(QueryCriteria.java:291) at org.apache.deltaspike.data.impl.criteria.QueryCriteria.createQuery(QueryCriteria.java:155) at org.apache.deltaspike.data.impl.criteria.QueryCriteria.getResultList(QueryCriteria.java:109) at at.tfr.pfad.dao.SquadRepository.findByAssistant(SquadRepository.java:46) at at.tfr.pfad.processing.MemberValidator.validate(MemberValidator.java:133) at at.tfr.pfad.view.TestDownloadBean.testValidationTruppVerein(TestDownloadBean.java:175) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareMethodInvoker.invokeMethod(CdiTestRunner.java:359) at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareMethodInvoker.evaluate(CdiTestRunner.java:331) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner.runChild(CdiTestRunner.java:190) at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner.runChild(CdiTestRunner.java:78)