I have problem with locking some record from ORACLE 9i DB.
I create Entity Bean, Session Bean in JDeveloper 11g.
My Persistant_Unit is:
Code:
<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:
Code:
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()