[JBoss Seam] - Merging objects problems.
by sjmenden
I have a form which a user can input a group name and other group information. The EJB3 backing the form persists/merges the Injected Group object given there are no errors.
My Problem:
First I could not get em.persist(group) to persist more than one Group object after a form submit because of org.hibernate.PersistentObjectException: detached entity passed to persist:....
So, then I started using em.merge(group) on the Group object, which fixed the previous problem, but led to another. When I am creating two different groups by submitting the form twice with different information, the entity manager appears only update the same group by the console output:
Output after em.merge(group) after the form submit the first time:
| 16:11:26,634 INFO [RegisterGroupAction] Registered new Group asdf with id: 4
|
Output after em.merge(group) after the form submit the second time with different data.
| 16:11:41,496 INFO [RegisterGroupAction] Registered new Group blah with id: 4
|
This is not the behavior I want, I want a new Group object to be persisted every time the user submits a new group form, so I should be seeing the id incremented, not staying the same, how can I do this.
| @Stateless
| @Name("registerGroup")
| public class RegisterGroupAction implements RegisterGroup {
|
| @In(create=true) @Out @Valid
| private Group group;
|
| @PersistenceContext
| private EntityManager em;
|
| @Logger
| private Log log;
|
| public String register() {
| List existing = em.createQuery("select name from Group where name = :name")
| .setParameter("name", group.getName())
| .getResultList();
| if (existing.size()==0) {
| group = em.merge(group);
| //em.persist(group);
|
| FacesMessages.instance().add("Group successfully created");
| log.info("Registered new Group #{group.name} with id: " + group.getGroupId());
| return "/showGroup.jsp";
| } else {
| FacesMessages.instance().add("Group name already exists, please choose another");
| return null;
| }
| }
| }
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3967112#3967112
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3967112
19 years, 8 months
[JBossWS] - Re: JSR181 Annotated Web Services Intro
by tmz_ca
Hi, I got the same error with jboss_portal-2.4.0. Anyone can help us? thanks in advance.
loy/jmx-console.war/
15:51:07,648 ERROR [MainDeployer] Could not create deployment: file:/C:/jboss-po
rtal-2.4.0/server/default/deploy/webservices.war/
java.lang.ArrayIndexOutOfBoundsException: 0
at org.jboss.ws.metadata.AnnotationsMetaDataBuilder.getWebParamAnnotatio
n(AnnotationsMetaDataBuilder.java:322)
at org.jboss.ws.metadata.AnnotationsMetaDataBuilder.processWebMethod(Ann
otationsMetaDataBuilder.java:400)
at org.jboss.ws.metadata.AnnotationsMetaDataBuilder.setupEndpointFromAnn
otations(AnnotationsMetaDataBuilder.java:154)
at org.jboss.ws.metadata.AnnotationsMetaDataBuilderJSE.buildMetaData(Ann
otationsMetaDataBuilderJSE.java:82)
at org.jboss.ws.server.WebServiceDeployerJSE.createWebServicesMetaData(W
ebServiceDeployerJSE.java:196)
at org.jboss.ws.server.WebServiceDeployer.create(WebServiceDeployer.java
:103)
at org.jboss.ws.server.WebServiceDeployerJSE.create(WebServiceDeployerJS
E.java:66)
at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.
create(SubDeployerInterceptorSupport.java:180)
at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterce
ptor.java:91)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy93.create(Unknown Source)
at org.jboss.deployment.MainDeployer.create(MainDeployer.java:953)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:807)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:771)
at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept
or.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM
BeanOperationInterceptor.java:142)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3967109#3967109
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3967109
19 years, 8 months