Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-1344

Query [get|set]LockMode & Em getLockMode not throwing correct exceptions


    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-M2, 2.0.0-M3
    • Fix Version/s: 2.0.0-beta
    • Component/s: jpa
    • Labels:


      [get|set]LockMode method in Query interface do not throw correct exception per spec.

      • No check on the query type and throw IllegalStateException
      • Thrown TransactionRequiredException for LockModeType.None. (3.8.8 Queries and Lock Mode....If a lock mode other than NONE is specified for a query, the query must be executed within a transaction or the TransactionRequiredException will be thrown.)


      • Set the lock mode type to be used for the query execution.
      • @param lockMode
      • @return the same query instance
      • @throws IllegalStateException if the query is found not to be
      • a Java Persistence query language SELECT query
      • or a Criteria API query
        Query setLockMode(LockModeType lockMode);


      getLockMode method in EntityManager interface do not throw correct exception per spec.

      • No check in active transaction and throw TransactionRequiredException
      • No check if entity is attached and throw IllegalArgumentException


      • Get the current lock mode for the entity instance.
      • @param entity
      • @return lock mode
      • @throws TransactionRequiredException if there is no
      • transaction
      • @throws IllegalArgumentException if the instance is not a
      • managed entity and a transaction is active
        public LockModeType getLockMode(Object entity);




            • Assignee:
              allee8285 Albert Lee
              allee8285 Albert Lee
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created: