Mixing QueryDSL NumberPath / SimplePath on x64 / x86
We are having this strange issue (or perhaps we are missing some kind of parameter configuration) that if we compile our project using the x86 JVM everything works fine, but if we use the x64 JVM we get this error during compilation:
QT_LOG.java:66: incompatible types
found : com.mysema.query.types.path.NumberPath<java.lang.Long>
required: com.mysema.query.types.path.SimplePath<java.lang.Long>
public final SimplePath<Long> id = _super.id;
This behavior happens if we use ANT as described here: http://www.querydsl.com/static/querydsl/3.4.3/reference/html/ch02.html#d0e147
<javac includeantruntime="false" debug="true" debuglevel="source,lines,vars"
fork="yes" executable="...x86...or...x64...JAVAC" classpathref="My Project.classpath"
source="1.6" target="1.6" encoding="iso-8859-1" >
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
<compilerarg value="com.mysema.query.apt.jpa.JPAAnnotationProcessor"/>
<compilerarg value="-s"/>
<compilerarg value="c:/myPath/"/>
<src path="${mySourceFolder}" />
</javac>
If we use Eclipse we also get different values (NumberPath / SimplePath), but we don't get any errors.
What can we do to fix this?
Tested with QueryDSL 3.2.3 and 3.4.3.
source to share
This seems to be a bug in querydsl-jpa -?.?.? - apt-hibernate-one-jar.jar as I removed all dependencies to it and added links to the following individual jars:
QueryDSL 3.2.3
codegen-0.6.0.jar
hibernate-commons-annotations-4.0.1.Final.jar
hibernate-core-4.2.0.Final.jar
hibernate-entitymanager-4.2.0.Final.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
hibernate-validator-4.3.0.Final.jar
javassist-3.15.0-GA.jar
javax.persistence-2.0.4.v201112161009.jar
jboss-transaction-api_1.1_spec-1.0.0.Final.jar
mysema-commons-lang-0.2.4.jar
querydsl-apt-3.2.4.jar
querydsl-codegen-3.2.4.jar
querydsl-core-3.2.4.jar
querydsl-jpa-3.2.4-apt.jar
querydsl-jpa-3.2.4.jar
querydsl-sql-3.2.4.jar
QueryDSL 3.4.3
codegen-0.6.3.jar
hibernate-commons-annotations-4.0.4.Final.jar
hibernate-core-4.3.5.Final.jar
hibernate-entitymanager-4.3.5.Final.jar
hibernate-jpa-2.1-api-1.0.0.Final.jar
hibernate-validator-4.3.1.Final.jar
javassist-3.18.1-GA.jar
javax.persistence-2.1.0.jar
jboss-transaction-api_1.2_spec-1.0.0.Final.jar
mysema-commons-lang-0.2.4.jar
querydsl-apt-3.4.3.jar
querydsl-codegen-3.4.3.jar
querydsl-core-3.4.3.jar
querydsl-jpa-3.4.3-apt.jar
querydsl-jpa-3.4.3.jar
querydsl-sql-3.4.3.jar
and now everything compiles correctly
source to share