0

JPA How to lock Entity in zk :)

asked 2009-06-13 09:15:59 +0800

kykub gravatar image kykub
75 1

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.

delete flag offensive retag edit

2 Replies

Sort by ยป oldest newest

answered 2009-06-13 11:20:09 +0800

kykub gravatar image kykub
75 1

updated 2009-06-13 11:20:41 +0800

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

link publish delete flag offensive edit

answered 2009-06-15 01:04:04 +0800

dennis gravatar image dennis
3679 1 6
http://www.javaworld.com....

not really know what you want.

link publish delete flag offensive edit
Your reply
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow

RSS

Stats

Asked: 2009-06-13 09:15:59 +0800

Seen: 327 times

Last updated: Jun 15 '09

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More