[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-5275) Criteria.setLockMode does not work correctly
Steve Ebersole (JIRA)
noreply at atlassian.com
Wed Dec 28 12:36:22 EST 2011
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-5275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44760#comment-44760 ]
Steve Ebersole commented on HHH-5275:
-------------------------------------
So based on my experiments here is what I see...
# get/load work as before.
# {{Criteria#setLockMode}} did not work, neither form
# {{Query#setLockMode}} did not work
{panel}
Jakob, with regard to the difference between
* {{query.setLockMode("cat", LockMode.UPGRADE)}} and
* {{query.setLockOptions(new LockOptions(LockMode.UPGRADE))}}
I think that is valid actually. IMO, if you want to lock just a specific table you would instead say this in the second form:
* {{query.setLockOptions(new LockOptions().setAliasSpecificLockMode("cat",LockMode.UPGRADE))}}
This does not work either, but that is the behavior I will shoot for
{panel}
> Criteria.setLockMode does not work correctly
> --------------------------------------------
>
> Key: HHH-5275
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5275
> Project: Hibernate Core
> Issue Type: Bug
> Components: core
> Affects Versions: 3.5.2, 3.5.3
> Environment: Hibernate 3.5.2, Oracle 10 (using org.hibernate.dialect.Oracle10gDialect
> Reporter: Björn Moritz
> Assignee: Steve Ebersole
> Priority: Minor
> Fix For: 4.0.1
>
> Attachments: AnotherOracle10gDialect.java, My_Oracle10Dialect.java, My_Oracle10Dialect.java, TestCase.zip
>
>
> The LockMode set via Criteria.setLockMode does not generate a ' for update' SQL statement. In the org.hibernate.dialect.Dialect class only the LockOptions are used for determining a possible addition to the SQL statement if using pessimistic locking. This behaviour is different from Hibernate 3.1.3.
> In the supplied TestCase two threads are reading the same database record; one of those threads should use pessimistic locking thereby blocking the other thread. But both threads can read the database record causing the test to fail.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list