Predicate malformed when using EJB on GlassFish 3.1.2.2 (build 5)

30 views
Skip to first unread message

Zbynek Vavros

unread,
Dec 11, 2016, 8:54:22 AM12/11/16
to Querydsl
Hi,

my issue is described here http://stackoverflow.com/questions/38899715/querydsl-fails-to-list.
Unfortunately there are no replies so I decided to ask you guys here.

I even created sample app to be able to reproduce this.
Just download GlassFish 3.1.2.2 (build 5), build parent project in attached ZIP using Maven,
deploy to GF and navigate to http://localhost:8080/test-querydsl-client/.

You should see "Result: unknown operation with operator com.mysema.query.types.Ops#EQ and args [testEntity.id, 1]".
Predicate is being malformed in this case and can't be used for query.

Now if you change the version of 'querydsl-jpa' to 3.6.3, rebuild, redeploy.
You should see "Result: testEntity.id = 1".
This is valid predicate that can be used for query.

I am willing to create my version of 3.6.2 if anyone points me the right way.

Thanks !

test-querydsl-parent.zip

Zbynek Vavros

unread,
Jul 13, 2018, 8:05:31 AM7/13/18
to Querydsl

Answering my own question, this is caused by calling EJB remote facade. Even though we are on the same JVM EJB still uses parameter isolation when using @Remote:

"The arguments and results of the methods of the remote business interface are passed by value." source JSR 318: Enterprise JavaBeans,Version 3.1 page 45, 3.2.1 Remote Clients

Reply all
Reply to author
Forward
0 new messages