0 Replies Latest reply on Sep 6, 2007 4:00 AM by Zoran

    Locking data

    Zoran Newbie

      I have problem with locking some record from ORACLE 9i DB.

      I create Entity Bean, Session Bean in JDeveloper 11g.
      My Persistant_Unit is:

      <persistence-unit name="HibernatePU">
       <provider>org.hibernate.ejb.HibernatePersistence</provider>
       <properties>
       <property name="hibernate.archive.autodetection" value="class, hbm"/>
       <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
       <property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
       <property name="hibernate.connection.username" value="zoran"/>
       <property name="hibernate.connection.password" value="zoran"/>
       <!-- <property name="hibernate.show_sql" value="false"/> -->
       <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
       <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
       </properties>
      </persistence-unit>
      



      In Java class I wrote:

      
      private EntityManagerFactory EntityManagerFactoryM = Persistence.createEntityManagerFactory("HibernatePU");
      
      private EntityManager EntityManagerMesto;
      
      EntityManagerMesto = EntityManagerFactoryM.createEntityManager();
      
      
       private void Transaction()
       {
       Mesto mestoTB = EntityManagerMesto.find(Mesto.class,1);
      
       EntityTransaction transactionM = EntityManagerMesto.getTransaction();
      
       transactionM.begin();
      
       EntityManagerMesto.lock(mestoTB, LockModeType.WRITE);
      
       System.out.println("testEJB: " + mestoTB.getNaziv());
       }
      
      
       Private void ExitForm()
       {
       transactionM.rollback();
       }
      
      
      



      I want to know if this is right code to LOCK one recored from ORACLE 9I and not to allow to anybody to change that row until I call function
      ExitForm() --- transactionM.rollback()