Interesting, where would that happen, in PhaseOnePersistenceUnitServiceImpl? I see the CDI bean manager being passed there, but not the validator factory.
2015-09-23 15:42 GMT+02:00 Scott Marlow <smar...@redhat.com>: > Gunnar, > > Regarding the "javax.persistence.validation.factory" property setting, I > think it would also be passed to > org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(info, > map). > > Scott > > On 09/23/2015 09:24 AM, Gunnar Morling wrote: >> >> Scott, >> >> Yes, EntityManagerFactoryBuilder#withValidatorFactory() is called (see >> >> https://github.com/wildfly/wildfly/blob/10.0.0.CR1/jpa/subsystem/src/main/java/org/jboss/as/jpa/service/PersistenceUnitServiceImpl.java#L150, >> I see it actually happening in the debugger), so I suppose Hibernate >> ORM has the VF at its hands correctly. >> >> Only that it is not exposed via the >> "javax.persistence.validation.factory" key via the EMF-exposed >> property map any more. So the call to >> >> entityManagerFactory().getProperties().get( >> "javax.persistence.validation.factory" ); >> >> returns null whereas it used to return the VF in earlier versions. >> >> But reading the spec again, it seems it only describes the >> "javax.persistence.validation.factory" key as means of passing the VF >> *to* JPA but not as means of obtaining it. Apparently that's just >> something that happened to be the case in WF before, comments at the >> test even states that this behaviour is not portable across >> containers. >> >> So I suppose I'll have to rework that test in the course of the upgrade. >> >> --Gunnar >> >> >> 2015-09-23 14:51 GMT+02:00 Scott Marlow <smar...@redhat.com>: >>> >>> Gunnar, >>> >>> In a standard bootstrap, the map parameter in the call to >>> createContainerEntityManagerFactory(PersistenceUnitInfo info, Map map), >>> should have the ValidatorFactory. >>> >>> For the path that your debugging (2 phase bootstrap), >>> >>> org.hibernate.jpa.boot.spi.EntityManagerFactoryBuilder.withValidatorFactory(Object) >>> should of been called. If the Hibernate ORM version is 4.3 or 5.0, we >>> should be calling EntityManagerFactoryBuilder.withValidatorFactory, could >>> you check if that was called or not? >>> >>> Scott >>> >>> >>> On 09/23/2015 07:38 AM, Gunnar Morling wrote: >>>> >>>> >>>> Scott, >>>> >>>> Upgrading the Hibernate Validator integration tests to run on WF 10 >>>> CR1, two tests fail for me DefaultValidatorFactoryInPersistenceUnitIT >>>> and CustomValidatorFactoryInPersistenceUnitIT. >>>> >>>> These are about accessing the validator factory from the entity >>>> manager factory through the "javax.persistence.validation.factory" >>>> property. The look-up returns null, though. I tried to debug that a >>>> bit but I am a bit lost in WF's PersistenceUnitServiceImpl. The code >>>> in start() populates the property in a map, but that map is not used >>>> for the EMF actually bootstrapped (which happens through the >>>> EntityManagerFactoryBuilder >>>> phaseOnePersistenceUnitService.getEntityManagerFactoryBuilder(), which >>>> does not get this property set). >>>> >>>> Could you check this one out? Maybe JipiJapa's >>>> EntityManagerFactoryBuilder should set that property to VF given via >>>> withValidatorFactory()? >>>> >>>> Thanks, >>>> >>>> --Gunnar >>>> >>>> [1] >>>> >>>> https://github.com/hibernate/hibernate-validator/blob/master/integration/src/test/java/org/hibernate/validator/integration/wildfly/DefaultValidatorFactoryInPersistenceUnitIT.java >>>> [2] >>>> >>>> https://github.com/hibernate/hibernate-validator/blob/master/integration/src/test/java/org/hibernate/validator/integration/wildfly/CustomValidatorFactoryInPersistenceUnitIT.java >>>> >>> > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev