-
FEATURED COMPONENTS
First time here? Check out the FAQ!
Hi all,
How to lock Entity in Zk i try but get :
javax.persistence.TransactionRequiredException: no transaction is in progress
at org.hibernate.ejb.AbstractEntityManagerImpl.lock(AbstractEntityManagerImpl.java:379)
at com.ksrchiangmai.gs.window.test.JPA.onCreate(JPA.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:623)
at org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:209)
at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:141)
at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:488)
at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:422)
Jun 13, 2009 4:15:06 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet zkLoader threw exception
javax.persistence.TransactionRequiredException: no transaction is in progress
at org.hibernate.ejb.AbstractEntityManagerImpl.lock(AbstractEntityManagerImpl.java:379)
at com.ksrchiangmai.gs.window.test.JPA.onCreate(JPA.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:623)
at org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:209)
at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:141)
at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:488)
at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:422)
CODE:
import java.util.Iterator;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.LockModeType;
import javax.persistence.Query;
import org.zkoss.zkplus.jpa.JpaUtil;
import org.zkoss.zul.Window;
import com.ksrchiangmai.gs.data.Instock;
import com.ksrchiangmai.gs.data.Invoice;
import com.ksrchiangmai.gs.data.Item;
public class JPA extends Window {
public void onCreate()
{
EntityManager em = JpaUtil.getEntityManager("gs");
Item i = em.find(Item.class, 1225);
i.setBw(111.223);
em.persist(i);
em.lock(i, LockModeType.READ);
}
}
Thank you.
now i can fix it
i add
public void onCreate()
{
EntityManager em = JpaUtil.getEntityManager("gs");
EntityTransaction tx = em.getTransaction();
tx.begin();
Item i = em.find(Item.class, 1225);
em.lock(i, LockModeType.WRITE);
i.setBw(111.233323);
em.persist(i);
tx.commit();
}
it working but i have question ?
how we select record only not lock
not really know what you want.
Asked: 2009-06-13 09:15:59 +0800
Seen: 327 times
Last updated: Jun 15 '09