Reddy
Reddy

Reputation: 8911

Pessimistic locking is not working with Query API

List esns=session.createQuery("from Pool e where e.status=:status "+
                        "order by uuid asc")
                        .setString("status", "AVAILABLE")
                        .setMaxResults(n)
                        .setLockMode("e", LockMode.PESSIMISTIC_WRITE)
                        .list();

I have the above query written, however it is not generating for update query and simultaneous updates are happening.

I am using 3.5.2 version and it has a bug in Criteria API, is the same bug present in query API as well or I am doing something wrong?

Upvotes: 1

Views: 2879

Answers (2)

Ricardo Vila
Ricardo Vila

Reputation: 1632

Try to use LockModeType.PESSIMISTIC_FORCE_INCREMENT, take a look at this solution.

Upvotes: 1

Reddy
Reddy

Reputation: 8911

setLockOptions is working fine. It is the same bug as this one.

Upvotes: 3

Related Questions