[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-5275) Criteria.setLockMode does not work correctly

Chad Wilson (JIRA) noreply at atlassian.com
Wed Jan 4 22:46:13 EST 2012


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-5275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44942#comment-44942 ] 

Chad Wilson commented on HHH-5275:
----------------------------------

@Steve Your addAliasToLock suggestion sounds reasonable. The current setAliasSpecificLockMode doesn't really feel natural and leads to weird use of the API ("why does it let me set this indeterminate combination of lock modes and aliases?")

Also worth noting the couple of related issues to pessimistic locking/forUpdate I linked to this ticket (one is prob a dupe of the other) which might necessitate some re-jigging around the ordering of how it generates the various clauses. Not sure if that opens other cans of worms!

> 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
>
>          Time Spent: 2h 19m
>
> 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