Duvida usando EJB

Ae pessoal eu uso EntityBean aqui, e preciso fazer algo para incrementar um valor:
ex.:

**
 * @ejb.bean type="CMP"
 *           name="UidGen"
 *           local-jndi-name="ejb/uidgen/UidGenLocal"
 *           view-type="local"
 *           primkey-field="name"
 * @ejb.util generate="physical"
 * @ejb.pk
 * @ejb.value-object
 * @ejb.persistence table-name="UidGen"
 * @ejb.finder signature="UidGenLocal findByName(java.lang.String name)"
 *	query="SELECT OBJECT(c) FROM UidGen AS c WHERE c.name=?1"
 */
public abstract class UidGenBean implements EntityBean {
... metodos

eu uso esse EntityBean ae para incrementar os valores de “outras” tabelas, tipo

/**
 * @ejb.interface-method
 */
public static int nextValue(String name) throws CreateException, NamingException {
	UidGenLocalHome h=null;
	UidGenLocal l=null;
	try {
		h = UidGenUtil.getLocalHome();
		l = h.findByName(name);	
	} catch(FinderException e) {
		l=h.create(name);
	}
	return l.nextValue();
}

/**
 * @ejb.interface-method
 */
public int nextValue() {
	int value = getValue();
	setValue(value + 1);
	return value;
}

A minha dúvida é a seguinte, para eu acrescentar esse valor eu faço um

h = UidGenUtil.getLocalHome();
l = h.findByName(name);	 

entao, no h.findByName(String) é onde eu pego o valor que eu quero acrescentar, o findByName foi declarado la no cabeçalho:

* @ejb.finder signature="UidGenLocal findByName(java.lang.String name)"
*	query="SELECT OBJECT(c) FROM UidGen AS c WHERE c.name=?1"

O que eu desejo é faze algo como é feito com um SELECT … FOR UPDATE por exemplo, eu pego esse valor ja na mesma transação o atualizo.
Por que da forma que eu to fazendo eu pego o valor, ae depois do um setValue() que vai abrir outra transação ne!

So que queria fazer isso com o EJB, algo que ele pegasse continuasse na mesma transacao e eu ja atualizasse, agora agora tive pensando ate em do jeito que eu faco um findByName(String), tem como eu faze um Update ?

t+