Hi, when using Quarkus with reactive hibernate and trying to run this findById(id, LockModeType.PESSIMISTIC_WRITE), I get following Error: JPA error: java.lang.UnsupportedOperationException
The error seems to be coming from here:
hibernate-reactive/hibernate-reactive-core/src/main/java/org/hibernate/reactive/event/impl/DefaultReactiveLockEventListener.java
Lines 238 to 241 in 5cb015d
@Override
public void onLock(LockEvent event) throws HibernateException {
throw new UnsupportedOperationException();
}
Is this intended, or is the implementation not finished? I can see that the last time this was edited was 4 years ago.
I was able to reproduce the issue when using a OneToMany and ManyToOne relationship.
By doing this, hibernate is forced to do a JOIN and the SELECT FOR UDPATE cannot be done in the same request.
When hibernate is trying to do the followup Lock, it throws an error.
The error should already show up after creating a Fruit and fetching it.
No Owner object is needed.
It's only there to trigger the issue.
Hi, this is related to this issue https://github.com/hibernate/hibernate-reactive/issues/1896.
I was able to reproduce the issue when using a
OneToMany
andManyToOne
relationship. By doing this, hibernate is forced to do aJOIN
and theSELECT FOR UDPATE
cannot be done in the same request. When hibernate is trying to do the followup Lock, it throws an error.The error should already show up after creating a
Fruit
and fetching it. NoOwner
object is needed. It's only there to trigger the issue.This is the repository with the reproduced issue: https://github.com/alexjaravete/quarkus-quickstarts/tree/findById/hibernate-reactive-panache-quickstart