[hibernate-dev] Typing Help with JPA 2.1 impl

Hardy Ferentschik hardy at hibernate.org
Thu Jun 14 10:50:10 EDT 2012


Using:

JVM: 1.6.0_31 (Apple Inc. 20.6-b01-415)
OS: Mac OS X 10.7.4 x86_64

I get:

ant:javac] /Users/hardy/tmp/core/hibernate-jpa2.1-working/hibernate-entitymanager/src/main/java/org/hibernate/ejb/criteria/CollectionJoinImplementor.java:35: types org.hibernate.ejb.criteria.JoinImplementor<Z,X> and org.hibernate.ejb.criteria.JoinImplementor<Z,X> are incompatible; both define on(javax.persistence.criteria.Predicate[]), but with unrelated return types
[ant:javac] public interface CollectionJoinImplementor<Z,X> extends JoinImplementor<Z,X>, CollectionJoin<Z,X> {
[ant:javac]        ^
[ant:javac] /Users/hardy/tmp/core/hibernate-jpa2.1-working/hibernate-entitymanager/src/main/java/org/hibernate/ejb/criteria/JoinImplementor.java:37: types javax.persistence.criteria.Fetch<Z,X> and javax.persistence.criteria.Join<Z,X> are incompatible; both define on(javax.persistence.criteria.Predicate[]), but with unrelated return types
[ant:javac] public interface JoinImplementor<Z,X> extends Join<Z,X>, Fetch<Z,X>, FromImplementor<Z,X> {
[ant:javac]        ^
[ant:javac] /Users/hardy/tmp/core/hibernate-jpa2.1-working/hibernate-entitymanager/src/main/java/org/hibernate/ejb/criteria/ListJoinImplementor.java:35: types org.hibernate.ejb.criteria.JoinImplementor<Z,X> and org.hibernate.ejb.criteria.JoinImplementor<Z,X> are incompatible; both define on(javax.persistence.criteria.Predicate[]), but with unrelated return types
[ant:javac] public interface ListJoinImplementor<Z,X> extends JoinImplementor<Z,X>, ListJoin<Z,X> {
[ant:javac]        ^
[ant:javac] /Users/hardy/tmp/core/hibernate-jpa2.1-working/hibernate-entitymanager/src/main/java/org/hibernate/ejb/criteria/MapJoinImplementor.java:35: types org.hibernate.ejb.criteria.JoinImplementor<Z,V> and org.hibernate.ejb.criteria.JoinImplementor<Z,V> are incompatible; both define on(javax.persistence.criteria.Predicate[]), but with unrelated return types
[ant:javac] public interface MapJoinImplementor<Z,K,V> extends JoinImplementor<Z,V>, MapJoin<Z,K,V> {
[ant:javac]        ^
[ant:javac] /Users/hardy/tmp/core/hibernate-jpa2.1-working/hibernate-entitymanager/src/main/java/org/hibernate/ejb/criteria/SetJoinImplementor.java:35: types org.hibernate.ejb.criteria.JoinImplementor<Z,X> and org.hibernate.ejb.criteria.JoinImplementor<Z,X> are incompatible; both define on(javax.persistence.criteria.Predicate[]), but with unrelated return types
[ant:javac] public interface SetJoinImplementor<Z,X> extends JoinImplementor<Z,X>, SetJoin<Z,X> {
[ant:javac]        ^
[ant:javac] Note: Some input files use or override a deprecated API.
[ant:javac] Note: Recompile with -Xlint:deprecation for details.
[ant:javac] Note: Some input files use unchecked or unsafe operations.
[ant:javac] Note: Recompile with -Xlint:unchecked for details.
[ant:javac] 5 errors

Switching to JDK 7:

JVM: 1.7.0-ea (Oracle Corporation 21.0-b17)
OS: Mac OS X 10.7.4 x86_64

Compile works, but tests seem to hang after:

Building > :hibernate-entitymanager:test > 282 tests completed


--Hardy



On Jun 14, 2012, at 4:15 PM, Steve Ebersole wrote:

> So I tried with JDK 1.7 and it worked fine.  I am hoping we can get people to try this on different architecture/jdk combos so we can see where the issue boundaries are.
> 
> I am running on Linux and using the Oracle JDKs:
> java version "1.6.0_30"
> java version "1.7.0_03"
> 
> This does in fact seem to be an issue in the Oracle JDK code.  The bug is 6294779, but it does not seem to be available in the bug database anymore.  According to any reports I could find it was fixed in beta 31 of Java 7 JDK.  But apparently no fix was ever ported to Java 6 JDK.
> 
> This obviously leads to some interesting question about handling Java versions in Hibernate builds and how to best handle this situation.  I'd like to define these boundaries first and then have that discussion.  I have attached my working HEAD with the changes in question (I hope, first time using git archive command).  Can others using alternative JDKs and other OS architectures try compiling this with their Java 6 JDKs?
> 
> Thanks




More information about the hibernate-dev mailing list