Hi,

You shouldn't rely on changes on your method’s parameters when working with
EJBs. For example, imagine that you are calling…



MyEntity myEntity = new MyEntity();

myEntity.setName(“Thiago”);

myEntity.setNickName(“Boto”);

mySessionBean.createEntity(myEntity);

System.println(myEntity.getId());



The result of the println method above depends on from where you are calling
the ejb. If it is a remote ejb, it will be null… if it is local, it will be
your bean id. That’s because you should return the value from the
“createEntity” method. So, to fix it, you should change the code above
from...


mySessionBean.createEntity(myEntity);


to…


myEntity = mySessionBean.createEntity(myEntity);


Could you check it?


[]s,

Thiago.

On Wed, Feb 16, 2011 at 2:42 PM, [email protected] <chaminda.sl@
gmail.com> wrote:

>
>
> Hi Guys,
>
> I have a Stateless SB with @Remote interface which calls
> em.persist(entity).
> Entity implements Serialization and Identity as the id generation Type.
>
> Issue is em.persist runs without any exception (in mysql, HSQL and JavaDB)
> and saves the entity to db but it does not set the generated id to entity.
>
> Interesting thing is if I change the @Remote to @Local em sets the
> generated
> id to entity fine.
>
> This can be reproduce easily in OpenEJB example as well...
>
> Thanks
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/Remote-Interface-with-JPA-Issue-tp3309594p3309594.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

Reply via email to