[
https://issues.jboss.org/browse/WFLY-10520?page=com.atlassian.jira.plugin...
]
Scott Marlow edited comment on WFLY-10520 at 6/13/18 10:13 AM:
---------------------------------------------------------------
Note from [~gbadner]:
{quote}
I ran a simple test that executed:
s.createQuery( "from A" ).setMaxResults( 0 ).list()
When built with 5.1, it returns all A entities.
When built with 5.3, it returns an empty list.
This is not good.
{quote}
I can think of two options:
# If the WF bytecode transformer doesn't handle Query#getMaxResults, then the
application will need to be rewritten to properly use the new Query#getMaxResults as well
as Query#setMaxResults() behaviour.
# Other approach might be for the WF bytecode transformer to check for calls to
Query#setMaxResults and rewrite the bytecode to work, not that we know yet, what code
changes are needed to make the 5.1 app code work with 5.3 yet (Gail?).
A concern about the second approach of the transformer going a bit deeper into application
code rewriting, is if the Hibernate team fixes a bug in 5.3.x that impacts the
setMaxResults behaviour, the transformer would also need to be fixed as well.
was (Author: smarlow):
Note from [~gbadner]:
{quote}
I ran a simple test that executed:
s.createQuery( "from A" ).setMaxResults( 0 ).list()
When built with 5.1, it returns all A entities.
When built with 5.3, it returns an empty list.
This is not good.
{quote}
I can think of two options:
# If the WF bytecode transformer doesn't handle Query#getMaxResults, then the
application will need to be rewritten to properly use the new Query#getMaxResults as well
as Query#setMaxResults() behaviour.
# Other approach might be for the WF bytecode transformer to check for calls to
Query#setMaxResults and rewrite the bytecode to work.
Add Hibernate ORM 5.3 compatibility transformer
-----------------------------------------------
Key: WFLY-10520
URL:
https://issues.jboss.org/browse/WFLY-10520
Project: WildFly
Issue Type: Task
Components: JPA / Hibernate
Reporter: Gail Badner
Assignee: Scott Marlow
Fix For: 14.0.0.CR1
A compatibility transformer needs to be added to address Hibernate ORM 5.3 API methods
that are no longer compatible with 5.1.
From
https://docs.google.com/document/d/1cAVBdeQXQfpTwH0f_GKSahh_gRd7bKI6kII-w...
# Change call to org.hibernate.BasicQueryContract.getFlushMode() to instead call
BasicQueryContract.getHibernateFlushMode().
# Change call to org.hibernate.Session.getFlushMode, to instead call
Session.getHibernateFlushMode()
# Modify calls to org.hibernate.Query.getFirstResult() to convert returned int, to
Integer result.
# Modify calls to org.hibernate.Query.getMaxResults() to convert returned int, to Integer
result, if returned int value is <= 0, null should be used, if Integer.MAX_VALUE is,
the transformer should replace with null reference.
# App References to Enum org.hibernate.FlushMode.NEVER (0) should be transformed to
reference FlushMode.MANUAL (0) instead.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)