[hibernate-dev] Trying Hibernate 5.0.0.Beta1

Steve Ebersole steve at hibernate.org
Tue Mar 31 20:22:34 EDT 2015


Those messages are not errors, just warnings.  To be precise...

Not sure about that constraint one.  Would need more info.

On Tue, Mar 31, 2015 at 7:18 PM, Petar Tahchiev <paranoiabla at gmail.com>
wrote:

> Hi all,
>
> just to confirm - I tried it with java8 and the exception is gone. I still
> see the "Duplicate joins for class.." error, as well as a new foreign key
> exception:
>
> WARN : SQL Error: 1452, SQLState: 23000
> ERROR: Cannot add or update a child row: a foreign key constraint fails
> (`solarapparel`.`entity_filters`, CONSTRAINT `FK6yx2wc1w1yb6qa1cx4byv7mju`
> FOREIGN KEY (`entity_pk`) REFERENCES `classification_feature` (`pk`))
> ERROR: HHH000315: Exception executing batch [could not execute batch]
> ERROR: Encountered an error executing step csv-import in job ncsvImportJob
> javax.persistence.PersistenceException:
> org.hibernate.exception.ConstraintViolationException: could not execute
> batch
>     at
> org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1763)
>     at
> org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677)
>     at
> org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1683)
>     at
> org.hibernate.jpa.spi.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:1338)
>     at
> org.springframework.batch.item.database.JpaItemWriter.write(JpaItemWriter.java:84)
>
>
> 2015-04-01 3:13 GMT+03:00 Steve Ebersole <steve at hibernate.org>:
>
>> Well the idea is to run the Gradle process with Java 8 (the build itself
>> is a Java process too don't forget).  We pass in the older JDK specifically
>> to be able to set the bootclasspath for compilation and the executable for
>> running tests.  That's the theory.
>>
>> Interestingly I developed a simplified project to test these theories:
>> https://github.com/sebersole/gradle-mixed-jdk  And of course this all
>> works there.  As you'd expect right?
>>
>> I think the JAXB thing comes into play here as well.  Gradle does not
>> have any XJC support built in, so we have to make use of its Ant support to
>> run the XJC Ant tasks for JAXB model generation.  The problem there is
>> that, afaik, there is no way to tell Gradle's AntBuilder to use a JDK other
>> than the one that launched Gradle.  I think this is why we see a JAXB model
>> defined for Java 7, rather than Java 6, because we essentially run XJC with
>> Java 8.
>>
>> Anyway, this certainly makes the build more complex and we definitely
>> have to think through all these scenarios.  In fact after Beta1, one of my
>> todos is to build up the build "from scratch" using that gradle-mixed-jdk
>> project as a basis.
>>
>> In general the plan though is to run all the tests (other than
>> hibernate-java8, obviously) with the "baseline JDK, whether that be Java 6
>> or 7.
>>
>> On Tue, Mar 31, 2015 at 6:59 PM, Sanne Grinovero <sanne at hibernate.org>
>> wrote:
>>
>>> There are many similar issues discussed on the Lucene developer's
>>> mailing list, it's an interesting read:
>>>  -
>>> http://mail-archives.apache.org/mod_mbox/lucene-dev/201503.mbox/%3C07c401d06aba%240b477c80%2421d67580%24%40thetaphi.de%3E
>>>
>>> I see no alternative than to have those test jobs actually exercising
>>> ORM with JDK6, or maybe even compile it all with JDK6 except the Java8
>>> additional module to be compiled with JDK8 ?
>>>
>>>
>>>
>>> On 1 April 2015 at 00:36, Steve Ebersole <steve at hibernate.org> wrote:
>>> > Ahh, seems this may be an option to work around it:
>>> >
>>> > <quote>
>>> > Using the general *Map* interface in place of the concrete
>>> > *ConcurrentHashMap* type here side-steps the coupling to the Java 8
>>> return
>>> > type and will allow this code to be compiled with Java 8 and run on
>>> Java 7.
>>> > </quote>
>>> >
>>> > I had missed that part.
>>> >
>>> >
>>> > On Tue, Mar 31, 2015 at 6:34 PM, Steve Ebersole <steve at hibernate.org>
>>> wrote:
>>> >
>>> >> When I say "internal" here, I mean internal to java classes.
>>> >>
>>> >> On Tue, Mar 31, 2015 at 6:30 PM, Steve Ebersole <steve at hibernate.org>
>>> >> wrote:
>>> >>
>>> >>> Nope.  It just effects any code compiled with Java 8 even though the
>>> >>> change is internal.  The problem is the generated bytecode
>>> incorporates
>>> >>> this change.   Like I said, this should be compiled with 1.6
>>> compatibility,
>>> >>> but that is apparently not working atm.  I am having a struggle
>>> getting a
>>> >>> mixed JDK build working "just right".
>>> >>>
>>> >>> On Tue, Mar 31, 2015 at 6:28 PM, Petar Tahchiev <
>>> paranoiabla at gmail.com>
>>> >>> wrote:
>>> >>>
>>> >>>> According to this:
>>> >>>>
>>> >>>> https://gist.github.com/AlainODea/1375759b8720a3f9f094
>>> >>>>
>>> >>>> Notably the Java 1.7 *ConcurrentHashMap#keySet()* returns a Set<K>
>>> while
>>> >>>> the 1.8*ConcurrentHashMap#keySet()* returns a
>>> >>>> ConcurrentHashMap.KeySetView<K,V>`.
>>> >>>>
>>> >>>> I think you're using some Java8 API.
>>> >>>>
>>> >>>>
>>> >>>> 2015-04-01 2:25 GMT+03:00 Petar Tahchiev <paranoiabla at gmail.com>:
>>> >>>>
>>> >>>>> petar at petar-ThinkPad-X1-Carbon:~$ java -version
>>> >>>>> java version "1.7.0_71"
>>> >>>>> Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
>>> >>>>> Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
>>> >>>>> petar at petar-ThinkPad-X1-Carbon:~$ uname -a
>>> >>>>> Linux petar-ThinkPad-X1-Carbon 3.16.0-33-generic #44-Ubuntu SMP
>>> Thu Mar
>>> >>>>> 12 12:19:35 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
>>> >>>>> petar at petar-ThinkPad-X1-Carbon:~$
>>> >>>>>
>>> >>>>>
>>> >>>>> 2015-04-01 2:21 GMT+03:00 Steve Ebersole <steve at hibernate.org>:
>>> >>>>>
>>> >>>>>> What JRE are you trying to use?  This error:
>>> >>>>>>
>>> >>>>>> java.lang.NoSuchMethodError: java.util.concurrent.
>>> >>>>>> ConcurrentHashMap.keySet()Ljava/util/concurrent/
>>> >>>>>> ConcurrentHashMap$KeySetView;
>>> >>>>>>
>>> >>>>>> is indicative of an issue in cross-jre support due to a change
>>> >>>>>> internal to java classes.
>>> >>>>>>
>>> >>>>>>
>>> >>>>>> On Tue, Mar 31, 2015 at 6:03 PM, Petar Tahchiev <
>>> paranoiabla at gmail.com
>>> >>>>>> > wrote:
>>> >>>>>>
>>> >>>>>>> Thanks Steve,
>>> >>>>>>>
>>> >>>>>>> I managed to migrate my configuration to the new
>>> >>>>>>> MetamodelImplementor. Now when I run the scema export I get a
>>> lot of these
>>> >>>>>>> warning:
>>> >>>>>>>
>>> >>>>>>> INFO : HHH000400: Using dialect:
>>> org.hibernate.dialect.MySQL5Dialect
>>> >>>>>>> WARN : JDBC Driver reports it stores quoted identifiers in both
>>> mixed
>>> >>>>>>> and upper case
>>> >>>>>>> WARN : HHH000072: Duplicate joins for class:
>>> >>>>>>> com.xxx.platform.core.model.cms.AbstractPageModel
>>> >>>>>>> WARN : HHH000072: Duplicate joins for class:
>>> >>>>>>> com.xxx.platform.module.invoice.core.model.InvoicePageModel
>>> >>>>>>> WARN : HHH000072: Duplicate joins for class:
>>> >>>>>>> com.xxx.platform.core.model.batch.BatchStepExecutionContextModel
>>> >>>>>>> WARN : HHH000072: Duplicate joins for class:
>>> >>>>>>> com.xxx.platform.core.model.batch.BatchJobExecutionContextModel
>>> >>>>>>> WARN : HHH000072: Duplicate joins for class:
>>> >>>>>>>
>>> com.xxx.platform.module.search.core.model.SearchKeywordRedirectModel
>>> >>>>>>> WARN : HHH000072: Duplicate joins for class:
>>> >>>>>>> com.xxx.platform.module.search.core.model.SearchPageRedirectModel
>>> >>>>>>> WARN : HHH000072: Duplicate joins for class:
>>> >>>>>>> com.xxx.platform.module.promotion.core.model.PromotionModel
>>> >>>>>>>
>>> >>>>>>> and when I run some test I get the following exception:
>>> >>>>>>> java.lang.NoSuchMethodError:
>>> >>>>>>>
>>> java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
>>> >>>>>>>     at
>>> >>>>>>>
>>> org.hibernate.internal.SessionFactoryImpl.iterateEntityNameResolvers(SessionFactoryImpl.java:733)
>>> >>>>>>>     at
>>> >>>>>>>
>>> org.hibernate.internal.SessionImpl$CoordinatingEntityNameResolver.resolveEntityName(SessionImpl.java:2470)
>>> >>>>>>>     at
>>> >>>>>>>
>>> org.hibernate.internal.SessionImpl.guessEntityName(SessionImpl.java:1992)
>>> >>>>>>>     at
>>> >>>>>>>
>>> org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1485)
>>> >>>>>>>     at
>>> >>>>>>>
>>> org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:163)
>>> >>>>>>>     at
>>> >>>>>>>
>>> org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:85)
>>> >>>>>>>     at
>>> >>>>>>>
>>> org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:882)
>>> >>>>>>>     at
>>> org.hibernate.internal.SessionImpl.merge(SessionImpl.java:864)
>>> >>>>>>>     at
>>> org.hibernate.internal.SessionImpl.merge(SessionImpl.java:869)
>>> >>>>>>>     at
>>> >>>>>>>
>>> org.hibernate.jpa.spi.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:1196)
>>> >>>>>>>     at
>>> >>>>>>>
>>> org.springframework.batch.item.database.JpaItemWriter.doWrite(JpaItemWriter.java:104)
>>> >>>>>>>     at
>>> >>>>>>>
>>> org.springframework.batch.item.database.JpaItemWriter.write(JpaItemWriter.java:83)
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>> 2015-04-01 1:23 GMT+03:00 Steve Ebersole <steve at hibernate.org>:
>>> >>>>>>>
>>> >>>>>>>> I am told that the bug does not affect the JBoss->Central sync
>>> >>>>>>>> process.  So at some point the artifacts should all be
>>> available in Central
>>> >>>>>>>>
>>> >>>>>>>> On Tue, Mar 31, 2015 at 5:19 PM, Steve Ebersole <
>>> steve at hibernate.org
>>> >>>>>>>> > wrote:
>>> >>>>>>>>
>>> >>>>>>>>> hibernate-core seems to be the only artifact that is available
>>> in
>>> >>>>>>>>> JBoss Nexus.
>>> >>>>>>>>>
>>> >>>>>>>>> On Tue, Mar 31, 2015 at 5:18 PM, Steve Ebersole <
>>> >>>>>>>>> steve at hibernate.org> wrote:
>>> >>>>>>>>>
>>> >>>>>>>>>> So apparently the artifacts / repo issue is a Nexus bug that
>>> is
>>> >>>>>>>>>> effecting the JBoss repo (and therefore us)...
>>> >>>>>>>>>> http://issues.sonatype.org/browse/NEXUS-7654
>>> >>>>>>>>>>
>>> >>>>>>>>>> As I pointed out in the announcement, I am managing the
>>> "migration
>>> >>>>>>>>>> guide" in source repo while I develop the Betas.  See
>>> >>>>>>>>>>
>>> https://github.com/hibernate/hibernate-orm/blob/master/working-5.0-migration-guide.md
>>> >>>>>>>>>>  As far are the new bootstrapping apis, see
>>> >>>>>>>>>>
>>> http://docs.jboss.org/hibernate/orm/5.0/topical/html/bootstrap/NativeBootstrapping.html
>>> >>>>>>>>>> and
>>> >>>>>>>>>>
>>> http://docs.jboss.org/hibernate/orm/5.0/topical/html/bootstrap/LegacyBootstrapping.html
>>> >>>>>>>>>>
>>> >>>>>>>>>> On Tue, Mar 31, 2015 at 5:07 PM, Petar Tahchiev <
>>> >>>>>>>>>> paranoiabla at gmail.com> wrote:
>>> >>>>>>>>>>
>>> >>>>>>>>>>> Hi guys,
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> I just tried the latest beta and I cannot compile my project.
>>> >>>>>>>>>>> With the
>>> >>>>>>>>>>> latest hibernate 4.3.X I was able to do this:
>>> >>>>>>>>>>> -------
>>> >>>>>>>>>>>         final org.hibernate.cfg.Configuration configuration =
>>> >>>>>>>>>>> getHibernateConfiguration();
>>> >>>>>>>>>>>         configuration.buildMappings();
>>> >>>>>>>>>>>         final SchemaUpdate schemaUpdate = new
>>> >>>>>>>>>>> SchemaUpdate(configuration);
>>> >>>>>>>>>>> -------
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> however it seems that the SchemaUpdate constructor has been
>>> >>>>>>>>>>> removed and now
>>> >>>>>>>>>>> a new one is added:
>>> >>>>>>>>>>> --------
>>> >>>>>>>>>>>     public SchemaUpdate(MetadataImplementor metadata) {
>>> >>>>>>>>>>>         this(
>>> >>>>>>>>>>> metadata.getMetadataBuildingOptions().getServiceRegistry(),
>>> >>>>>>>>>>> metadata );
>>> >>>>>>>>>>>     }
>>> >>>>>>>>>>> ---------
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> Also the configuration.buildMappings() method has been
>>> >>>>>>>>>>> deprecated. Where do
>>> >>>>>>>>>>> I get the MetadataImplementor from? Also is there any
>>> changelog I
>>> >>>>>>>>>>> can refer
>>> >>>>>>>>>>> to?
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> Thanks.
>>> >>>>>>>>>>> --
>>> >>>>>>>>>>> Regards, Petar!
>>> >>>>>>>>>>> Karlovo, Bulgaria.
>>> >>>>>>>>>>> ---
>>> >>>>>>>>>>> Public PGP Key at:
>>> >>>>>>>>>>>
>>> >>>>>>>>>>>
>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>> >>>>>>>>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550
>>> C311
>>> >>>>>>>>>>> 0611
>>> >>>>>>>>>>> _______________________________________________
>>> >>>>>>>>>>> hibernate-dev mailing list
>>> >>>>>>>>>>> hibernate-dev at lists.jboss.org
>>> >>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>> >>>>>>>>>>>
>>> >>>>>>>>>>
>>> >>>>>>>>>>
>>> >>>>>>>>>
>>> >>>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>> --
>>> >>>>>>> Regards, Petar!
>>> >>>>>>> Karlovo, Bulgaria.
>>> >>>>>>> ---
>>> >>>>>>> Public PGP Key at:
>>> >>>>>>>
>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>> >>>>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311
>>> 0611
>>> >>>>>>>
>>> >>>>>>
>>> >>>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>> --
>>> >>>>> Regards, Petar!
>>> >>>>> Karlovo, Bulgaria.
>>> >>>>> ---
>>> >>>>> Public PGP Key at:
>>> >>>>>
>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>> >>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>> >>>>>
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> --
>>> >>>> Regards, Petar!
>>> >>>> Karlovo, Bulgaria.
>>> >>>> ---
>>> >>>> Public PGP Key at:
>>> >>>>
>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>> >>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>> >>>>
>>> >>>
>>> >>>
>>> >>
>>> > _______________________________________________
>>> > hibernate-dev mailing list
>>> > hibernate-dev at lists.jboss.org
>>> > https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>>
>>
>>
>
>
> --
> Regards, Petar!
> Karlovo, Bulgaria.
> ---
> Public PGP Key at:
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>


More information about the hibernate-dev mailing list