Are you not using a LoadableDetacheble model?
And are you familiar with Hibernate's laizy loading?

Have a great day,
    Paul Bors

> On May 18, 2014, at 6:08 AM, Piratenvisier <hansheinrichbr...@yahoo.de> wrote:
> 
> Am 17.05.2014 23:08, schrieb mscoon:
>> I don't understand what these lines are doing. Are you reloading whatever
>> is already stored in your modelObject.kunde and setting it again to your
>> model object? Why?
> all ONETOMANY relationships which are set before I open the form
> cause problem with hibernate when I save the Model after I close the Form.
> When I set them once more as described below everything is OK.
> all ONETOMANY relationships which are set by the Form by DropDownChoices 
> don't cause any problem.
> 
> 
>> 
>> On Thu, May 8, 2014 at 7:50 AM, Piratenvisier 
>> <hansheinrichbr...@yahoo.de>wrote:
>> 
>>> If I include the folowing lines :
>>> 
>>> if(NachweiseForm.this.getModelObject().getKunde()!=null) {
>>>         Kunde kunde = kundeManager.get(NachweiseForm.this.
>>> getModelObject().getKunde().getId());
>>>         NachweiseForm.this.getModelObject().setKunde(kunde);
>>>         kunde.addNachweis(NachweiseForm.this.getModelObject());
>>>         System.err.println("Kunde");
>>>     }
>>> 
>>> before the save
>>> 
>>>  everything is fine
>>> 
>>> But I hoped to avoid such lines by AbstractEntityModel.
>>> 
>>> My idea was to implant Kunde through the form.
>>> 
>>> But how could you do it only  by a Label.
>>> 
>>> Am 05.05.2014 20:40, schrieb mscoon:
>>> 
>>>> ​Actually what I said below is wrong because this line is after the line
>>>> 
>>>> that throws the exception. But my explanation still holds. Something
>>>> before
>>>> the line that is throwing the exception is causing an object with a
>>>> reference to a new ​Nachweise
>>>> to be saved while the Nachweise is still unsaved. You need to search at
>>>> what is happening before the line with the exception, maybe even before
>>>> the
>>>> page is created.
>>>> 
>>>> 
>>>> 
>>>>  Now, a wild guess (I may well be wrong) is that the following line:
>>>>> nachweiseform.getModelObject().getKunde().addNachweis(nachwe
>>>>> iseform.getModelObject());
>>>>> 
>>>>> may be causing the problem if hibernate tries to save kunde with
>>>>> nachweiseform.getModelObject()
>>>>> which is a new object with a null id.
>>>>> 
>>>>> You  may try to move this line to saveNachweise().
>>>>> 
>>>>> 
>>>>> On Mon, May 5, 2014 at 2:54 PM, Yahoo <hansheinrichbr...@yahoo.de>
>>>>> wrote:
>>>>> 
>>>>>  Am 05.05.2014 11:05, schrieb mscoon:
>>>>>>   In a previous message you sent the following snippets:
>>>>>> 
>>>>>>> //@XmlTransient
>>>>>>> @ManyToOne(cascade = CascadeType.MERGE,fetch=FetchType.LAZY)
>>>>>>> @JoinColumn(name="NachKundNr",insertable=false, updatable=false)
>>>>>>>       public Kunde getKunde(){
>>>>>>>          return this.kunde;
>>>>>>>       }
>>>>>>> 
>>>>>>> recursive Part for Kunde
>>>>>>> 
>>>>>>> 
>>>>>>> @XmlTransient
>>>>>>> @OneToMany(cascade={CascadeType.MERGE},fetch=FetchType.LAZY)
>>>>>>> @JoinColumn(name="NachKundNr",insertable=false, updatable=false )
>>>>>>> 
>>>>>>>  when I remove this I get the error :
>>>>>> org.hibernate.TransientObjectException: object references an unsaved
>>>>>> transient instance - save the transient instance before flushing:
>>>>>> braunimmobilien.model.Nachweise
>>>>>>       at org.hibernate.engine.internal.ForeignKeys.
>>>>>> getEntityIdentifierIfNotUnsaved(ForeignKeys.java:249)
>>>>>>       at org.hibernate.type.EntityType.getIdentifier(EntityType.java:
>>>>>> 459)
>>>>>>       at org.hibernate.type.ManyToOneType.nullSafeSet(
>>>>>> ManyToOneType.java:132)
>>>>>>       at org.hibernate.persister.collection.
>>>>>> AbstractCollectionPersister.
>>>>>> writeElement(AbstractCollectionPersister.java:867)
>>>>>>       at org.hibernate.persister.collection.
>>>>>> AbstractCollectionPersister.
>>>>>> insertRows(AbstractCollectionPersister.java:1475)
>>>>>>       at org.hibernate.action.internal.CollectionUpdateAction.execute(
>>>>>> CollectionUpdateAction.java:86)
>>>>>>       at org.hibernate.engine.spi.ActionQueue.execute(
>>>>>> ActionQueue.java:362)
>>>>>>       at org.hibernate.engine.spi.ActionQueue.executeActions(
>>>>>> ActionQueue.java:354)
>>>>>>       at org.hibernate.engine.spi.ActionQueue.executeActions(
>>>>>> ActionQueue.java:278)
>>>>>>       at org.hibernate.event.internal.AbstractFlushingEventListener.
>>>>>> performExecutions(AbstractFlushingEventListener.java:326)
>>>>>>       at org.hibernate.event.internal.DefaultFlushEventListener.
>>>>>> onFlush(
>>>>>> DefaultFlushEventListener.java:52)
>>>>>>       at org.hibernate.internal.SessionImpl.flush(SessionImpl.
>>>>>> java:1213)
>>>>>>       at org.hibernate.internal.SessionImpl.managedFlush(
>>>>>> SessionImpl.java:402)
>>>>>>       at org.hibernate.engine.transaction.internal.jdbc.
>>>>>> JdbcTransaction.
>>>>>> beforeTransactionCommit(JdbcTransaction.java:101)
>>>>>>       at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.
>>>>>> commit(AbstractTransactionImpl.java:175)
>>>>>>       at org.springframework.orm.hibernate4.
>>>>>> HibernateTransactionManager.
>>>>>> doCommit(HibernateTransactionManager.java:554)
>>>>>>       at org.springframework.transaction.support.
>>>>>> AbstractPlatformTransactionManager.processCommit(
>>>>>> AbstractPlatformTransactionManager.java:755)
>>>>>>       at org.springframework.transaction.support.
>>>>>> AbstractPlatformTransactionManager.commit(
>>>>>> AbstractPlatformTransactionMan
>>>>>> ager.java:724)
>>>>>>       at org.springframework.transaction.interceptor.
>>>>>> TransactionAspectSupport.commitTransactionAfterReturnin
>>>>>> g(TransactionAspectSupport.java:475)
>>>>>>       at org.springframework.transaction.interceptor.
>>>>>> TransactionAspectSupport.invokeWithinTransaction(
>>>>>> TransactionAspectSupport.java:270)
>>>>>>       at org.springframework.transaction.interceptor.
>>>>>> TransactionInterceptor.invoke(TransactionInterceptor.java:94)
>>>>>>       at org.springframework.aop.framework.ReflectiveMethodInvocation.
>>>>>> proceed(ReflectiveMethodInvocation.java:172)
>>>>>>       at org.springframework.aop.interceptor.
>>>>>> ExposeInvocationInterceptor.
>>>>>> invoke(ExposeInvocationInterceptor.java:91)
>>>>>>       at org.springframework.aop.framework.ReflectiveMethodInvocation.
>>>>>> proceed(ReflectiveMethodInvocation.java:172)
>>>>>>       at org.springframework.aop.framework.JdkDynamicAopProxy.
>>>>>> invoke(JdkDynamicAopProxy.java:204)
>>>>>>       at com.sun.proxy.$Proxy112.get(Unknown Source)
>>>>>>       at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>       at org.apache.wicket.proxy.LazyInitProxyFactory$
>>>>>> JdkHandler.invoke(
>>>>>> LazyInitProxyFactory.java:435)
>>>>>>       at com.sun.proxy.$Proxy94.get(Unknown Source)
>>>>>>       at braunimmobilien.webapp.nachweis.NachweisPanel.<init>(
>>>>>> NachweisPanel.java:100)
>>>>>>       at braunimmobilien.webapp.nachweis.NachweisPage.<init>(
>>>>>> NachweisPage.java:47)
>>>>>>       at java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>> 526)
>>>>>>       at org.apache.wicket.session.DefaultPageFactory.newPage(
>>>>>> DefaultPageFactory.java:171)
>>>>>>       at org.apache.wicket.session.DefaultPageFactory.newPage(
>>>>>> DefaultPageFactory.java:99)
>>>>>>       at org.apache.wicket.DefaultMapperContext.newPageInstance(
>>>>>> DefaultMapperContext.java:137)
>>>>>>       at org.apache.wicket.core.request.handler.PageProvider.
>>>>>> resolvePageInstance(PageProvider.java:268)
>>>>>>       at org.apache.wicket.core.request.handler.PageProvider.
>>>>>> getPageInstance(PageProvider.java:166)
>>>>>>       at org.apache.wicket.request.handler.render.PageRenderer.
>>>>>> getPage(PageRenderer.java:78)
>>>>>>       at org.apache.wicket.request.handler.render.
>>>>>> WebPageRenderer.respond(
>>>>>> WebPageRenderer.java:271)
>>>>>>       at org.apache.wicket.core.request.handler.
>>>>>> RenderPageRequestHandler.
>>>>>> respond(RenderPageRequestHandler.java:175)
>>>>>>       at org.apache.wicket.request.cycle.RequestCycle$
>>>>>> HandlerExecutor.respond(RequestCycle.java:862)
>>>>>>       at org.apache.wicket.request.RequestHandlerStack.execute(
>>>>>> RequestHandlerStack.java:64)
>>>>>>       at org.apache.wicket.request.cycle.RequestCycle.execute(
>>>>>> RequestCycle.java:261)
>>>>>>       at org.apache.wicket.request.cycle.RequestCycle.
>>>>>> processRequest(RequestCycle.java:218)
>>>>>>       at org.apache.wicket.request.cycle.RequestCycle.
>>>>>> processRequestAndDetach(RequestCycle.java:289)
>>>>>>       at org.apache.wicket.protocol.http.WicketFilter.
>>>>>> processRequestCycle(
>>>>>> WicketFilter.java:259)
>>>>>>       at org.apache.wicket.protocol.http.WicketFilter.
>>>>>> processRequest(WicketFilter.java:201)
>>>>>>       at org.apache.wicket.protocol.http.WicketFilter.doFilter(
>>>>>> WicketFilter.java:282)
>>>>>>       at org.eclipse.jetty.servlet.ServletHandler$CachedChain.
>>>>>> doFilter(ServletHandler.java:1338)
>>>>>>       at com.opensymphony.sitemesh.webapp.SiteMeshFilter.
>>>>>> doFilter(SiteMeshFilter.java:65)
>>>>>>       at org.eclipse.jetty.servlet.ServletHandler$CachedChain.
>>>>>> doFilter(ServletHandler.java:1338)
>>>>>>       at org.springframework.orm.hibernate4.support.
>>>>>> OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:
>>>>>> 152)
>>>>>>       at org.springframework.web.filter.OncePerRequestFilter.
>>>>>> doFilter(OncePerRequestFilter.java:107)
>>>>>>       at org.eclipse.jetty.servlet.ServletHandler$CachedChain.
>>>>>> doFilter(ServletHandler.java:1338)
>>>>>>       at braunimmobilien.webapp.MessageFilter.doFilter(
>>>>>> MessageFilter.java:32)
>>>>>>       at org.eclipse.jetty.servlet.ServletHandler$CachedChain.
>>>>>> doFilter(ServletHandler.java:1338)
>>>>>>       at org.springframework.web.filter.CharacterEncodingFilter.
>>>>>> doFilterInternal(CharacterEncodingFilter.java:88)
>>>>>>       at org.springframework.web.filter.OncePerRequestFilter.
>>>>>> doFilter(OncePerRequestFilter.java:107)
>>>>>>       at org.eclipse.jetty.servlet.ServletHandler$CachedChain.
>>>>>> doFilter(ServletHandler.java:1338)
>>>>>>       at org.eclipse.jetty.servlet.ServletHandler.doHandle(
>>>>>> ServletHandler.java:484)
>>>>>>       at org.eclipse.jetty.server.handler.ScopedHandler.handle(
>>>>>> ScopedHandler.java:119)
>>>>>>       at org.eclipse.jetty.security.SecurityHandler.handle(
>>>>>> SecurityHandler.java:524)
>>>>>>       at org.eclipse.jetty.server.session.SessionHandler.
>>>>>> doHandle(SessionHandler.java:233)
>>>>>>       at org.eclipse.jetty.server.handler.ContextHandler.
>>>>>> doHandle(ContextHandler.java:1065)
>>>>>>       at org.eclipse.jetty.servlet.ServletHandler.doScope(
>>>>>> ServletHandler.java:413)
>>>>>>       at org.eclipse.jetty.server.session.SessionHandler.
>>>>>> doScope(SessionHandler.java:192)
>>>>>>       at org.eclipse.jetty.server.handler.ContextHandler.
>>>>>> doScope(ContextHandler.java:999)
>>>>>>       at org.eclipse.jetty.server.handler.ScopedHandler.handle(
>>>>>> ScopedHandler.java:117)
>>>>>>       at org.eclipse.jetty.server.handler.ContextHandlerCollection.
>>>>>> handle(
>>>>>> ContextHandlerCollection.java:250)
>>>>>>       at org.eclipse.jetty.server.handler.HandlerCollection.
>>>>>> handle(HandlerCollection.java:149)
>>>>>>       at org.eclipse.jetty.server.handler.HandlerWrapper.handle(
>>>>>> HandlerWrapper.java:111)
>>>>>>       at org.eclipse.jetty.server.Server.handle(Server.java:350)
>>>>>>       at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(
>>>>>> AbstractHttpConnection.java:454)
>>>>>>       at org.eclipse.jetty.server.AbstractHttpConnection.
>>>>>> headerComplete(
>>>>>> AbstractHttpConnection.java:890)
>>>>>>       at org.eclipse.jetty.server.AbstractHttpConnection$
>>>>>> RequestHandler.headerComplete(AbstractHttpConnection.java:944)
>>>>>>       at org.eclipse.jetty.http.HttpParser.parseNext(
>>>>>> HttpParser.java:630)
>>>>>>       at org.eclipse.jetty.http.HttpParser.parseAvailable(
>>>>>> HttpParser.java:230)
>>>>>>       at org.eclipse.jetty.server.AsyncHttpConnection.handle(
>>>>>> AsyncHttpConnection.java:77)
>>>>>>       at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(
>>>>>> SelectChannelEndPoint.java:606)
>>>>>>       at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(
>>>>>> SelectChannelEndPoint.java:46)
>>>>>>       at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
>>>>>> QueuedThreadPool.java:603)
>>>>>>       at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(
>>>>>> QueuedThreadPool.java:538)
>>>>>>       at java.lang.Thread.run(Thread.java:744)
>>>>>> 
>>>>>> at
>>>>>> 
>>>>>> 
>>>>>>     final NachweiseForm nachweiseform=new NachweiseForm("form",model);
>>>>>>      if (!(pars.getPosition("nachweisnr")>=0&&pars.get("
>>>>>> nachweisnr").toLong()>0))
>>>>>> {
>>>>>> 
>>>>>>      if (pars.getPosition("kundennr")>=0&&pars.get("kundennr").
>>>>>> toLong()>0)
>>>>>> {
>>>>>>   here ===>       Kunde kunde=kundeManager.get(new
>>>>>> Long(pars.get("kundennr").toString()));
>>>>>> 
>>>>>>          System.err.println("====================== set Kunde
>>>>>> reached");
>>>>>>          nachweiseform.getModelObject().setKunde(kunde);
>>>>>>      // nachweiseform.getModelObject().getKunde().addNachweis(
>>>>>> nachweiseform.getModelObject());
>>>>>>      }
>>>>>> 
>>>>>>      }
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>      add(nachweiseform);
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>   public List<Nachweise> getNachweise() {
>>>>>> 
>>>>>>>       return nachweise;
>>>>>>> }
>>>>>>> 
>>>>>>> It seems like both sides of the relationship are set as
>>>>>>> insertable=false,
>>>>>>> updatable = false. This would explain why kunde becomes null after
>>>>>>> saving,
>>>>>>> though it contradicts your statement that everything is saved ok in the
>>>>>>> db.
>>>>>>> 
>>>>>>> Either way the AbstractEntityModel has nothing to do with how
>>>>>>> properties
>>>>>>> of
>>>>>>> the model object are stored in the db, so I still believe the problem
>>>>>>> is
>>>>>>> somewhere else in your code.
>>>>>>> 
>>>>>>> Marios
>>>>>>> 
>>>>>>> 
>>>>>>> On Mon, May 5, 2014 at 11:26 AM, Yahoo <hansheinrichbr...@yahoo.de>
>>>>>>> wrote:
>>>>>>> 
>>>>>>>   First I have to tell you concerning the mapping I used the wrong word
>>>>>>> 
>>>>>>>> the
>>>>>>>> dependencies in the mapping are not recursive bur circular.
>>>>>>>> 
>>>>>>>> Am 04.05.2014 22:24, schrieb mscoon:
>>>>>>>> 
>>>>>>>>    I'm not sure I see something wrong in your code, but then again you
>>>>>>>> have
>>>>>>>> 
>>>>>>>>  omitted a lot of stuff which could be cruicial.
>>>>>>>>> Does nachweiseform have any components that show/update kunde?
>>>>>>>>> 
>>>>>>>>>   Label nachkundnr=new Label("kunde.id");
>>>>>>>>    add(nachkundnr);
>>>>>>>> 
>>>>>>>>    What exactly do you mean by saying "after save it disappears"? Has
>>>>>>>> it
>>>>>>>> been
>>>>>>>> 
>>>>>>>>  stored correctly in the database or is it wrong there too?
>>>>>>>>>   Everything is stored correctly in the Database only NachKundNr is
>>>>>>>>> NULL
>>>>>>>>    Have you tried to create a minimal case where you are setting kunde
>>>>>>>> to an
>>>>>>>> 
>>>>>>>>  object without having any wicket forms?
>>>>>>>>>   I have no problems with kunde in the TestCases
>>>>>>>>    What is the value of kunde before saving to the db? If it is
>>>>>>>> correctly set
>>>>>>>> 
>>>>>>>>  then you likely have a problem with your mapping. If it's not
>>>>>>>>> correctly
>>>>>>>>> set
>>>>>>>>> then something is wrong with your form.
>>>>>>>>> 
>>>>>>>>>   The problem is only with new Kunde() because Kunde must be preset
>>>>>>>>> and
>>>>>>>> cannot be changed in the Form. Before using AbstractEntityModel I took
>>>>>>>> all
>>>>>>>> Ids of the MANYTOONE relationships in the model and loaded them from
>>>>>>>> the
>>>>>>>> Database and implanted them newly in Kunde before storing. My hope was
>>>>>>>> to
>>>>>>>> avoid this by using AbstractEntityModel.This works for all
>>>>>>>> Dependencies
>>>>>>>> which are set in the Form
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>   On Sun, May 4, 2014 at 1:02 PM, Yahoo <hansheinrichbr...@yahoo.de>
>>>>>>>> 
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>    I have a suspicion: I have defened all dependencies with jpa or
>>>>>>>>> hibernate
>>>>>>>>> 
>>>>>>>>>  annotation.
>>>>>>>>>> So I have also a lot of cicular dependencies, which sometimes make
>>>>>>>>>> problem.
>>>>>>>>>> I will give you 2 examples. one which is OK when I use
>>>>>>>>>> AbstractEntityModel
>>>>>>>>>> and on which makes problem, which is not set in the form through the
>>>>>>>>>> Model
>>>>>>>>>> but before.
>>>>>>>>>> 
>>>>>>>>>> 1.
>>>>>>>>>> 
>>>>>>>>>> the hibernatemodel:
>>>>>>>>>> 
>>>>>>>>>> @IndexedEmbedded
>>>>>>>>>> @ManyToOne(cascade=CascadeType.MERGE,fetch = FetchType.LAZY)
>>>>>>>>>> @JoinColumn(name="NachAngNr",insertable=false, updatable=false)
>>>>>>>>>> 
>>>>>>>>>> public Angebot getAngebot(){
>>>>>>>>>>           return this.angebot;
>>>>>>>>>>        }
>>>>>>>>>> 
>>>>>>>>>> recursive part in Angebot:
>>>>>>>>>> 
>>>>>>>>>> @XmlTransient
>>>>>>>>>> @OneToMany(cascade={CascadeType.ALL},fetch=FetchType.LAZY)
>>>>>>>>>> @JoinColumn(name="NachAngNr",nullable=false )
>>>>>>>>>> public List<Nachweise> getNachweise() {
>>>>>>>>>>        return nachweise;
>>>>>>>>>> }
>>>>>>>>>> 
>>>>>>>>>> Angebot is set by DropDownChoice in the form
>>>>>>>>>> 
>>>>>>>>>>      private    IModel<List<? extends Angebot>> makeChoicesAngebote
>>>>>>>>>> =
>>>>>>>>>> new
>>>>>>>>>> AbstractReadOnlyModel<List<? extends Angebot>>()
>>>>>>>>>>                 {
>>>>>>>>>>                     @Override
>>>>>>>>>>                     public List<Angebot> getObject()
>>>>>>>>>>                     { List<Angebot> angebotelist=new
>>>>>>>>>> ArrayList<Angebot>();
>>>>>>>>>>                         Iterator angeboteiterator=
>>>>>>>>>> angebotManager.getAngebote().iterator();
>>>>>>>>>>                     while(angeboteiterator.hasNext()){
>>>>>>>>>>                         Angebot angebot=(Angebot)
>>>>>>>>>> angeboteiterator.next();
>>>>>>>>>> if(angebot.getAngstatus().getId().longValue()==1)
>>>>>>>>>>                         angebotelist.add(angebot);
>>>>>>>>>>                     }
>>>>>>>>>>                         return angebotelist;
>>>>>>>>>>                     }
>>>>>>>>>> 
>>>>>>>>>>                 };
>>>>>>>>>>                    IChoiceRenderer<Angebot> angebotchoicerenderer=
>>>>>>>>>>         new IChoiceRenderer<Angebot>() {
>>>>>>>>>> 
>>>>>>>>>>                       public Object getDisplayValue(Angebot angebot)
>>>>>>>>>>                         {
>>>>>>>>>>                             return angebot.getId();
>>>>>>>>>>                         }
>>>>>>>>>> 
>>>>>>>>>>                         public String getIdValue(Angebot angebot,int
>>>>>>>>>> index)
>>>>>>>>>>                         {
>>>>>>>>>>                             return angebot.getId();
>>>>>>>>>>                         }
>>>>>>>>>>             };
>>>>>>>>>> 
>>>>>>>>>> final DropDownChoice<Angebot> angebote = new
>>>>>>>>>> DropDownChoice<Angebot>("
>>>>>>>>>> angebot",
>>>>>>>>>>     makeChoicesAngebote,angebotchoicerenderer);
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> The recursive part is treated in NachweiseManagerImpl :
>>>>>>>>>> 
>>>>>>>>>> public Nachweise saveNachweise(Nachweise nachweise) throws
>>>>>>>>>> NachweiseExistsException {
>>>>>>>>>> 
>>>>>>>>>>          try {
>>>>>>>>>>              if(nachweise.getId()==null){
>>>>>>>>>>                  System.err.println("xxxxxxxxxxxxxxxxxx Id=null");
>>>>>>>>>> 
>>>>>>>>>>                  if(nachweise.getMitarbeiter()!=null) {
>>>>>>>>>>                    }
>>>>>>>>>>                      =======================   recursive Part  for
>>>>>>>>>> Kunde
>>>>>>>>>> later =======================
>>>>>>>>>>       /*         if(nachweise.getKunde()!=null) {
>>>>>>>>>>                        System.err.println("xxxxxxxxxxxxxxxxxx
>>>>>>>>>> Kunde");
>>>>>>>>>> (nachweise.getKunde()).addNachweis(nachweise);
>>>>>>>>>>                    }*/
>>>>>>>>>>                    if(nachweise.getXtyp()!=null) {
>>>>>>>>>>                    }
>>>>>>>>>> 
>>>>>>>>>>                        if(nachweise.getAngebot()!=null) {
>>>>>>>>>> nachweise.getAngebot().addNachweis(nachweise);
>>>>>>>>>>                    System.err.println("xxxxxxxxxxxxxxxxxx
>>>>>>>>>> Angebot");
>>>>>>>>>>                        }
>>>>>>>>>>      =======================   recursive Part  for Angebot
>>>>>>>>>> =======================
>>>>>>>>>>                        if(nachweise.getAngebot1()!=null) {
>>>>>>>>>> nachweise.getAngebot1().addNachweis1(nachweise);
>>>>>>>>>>                        }
>>>>>>>>>> 
>>>>>>>>>>                        if(nachweise.getAngebot2()!=null) {
>>>>>>>>>>                        nachweise.getAngebot2().
>>>>>>>>>> addNachweis2(nachweise);
>>>>>>>>>>                        }
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>                        if(nachweise.getObjekt()!=null) {
>>>>>>>>>> nachweise.getObjekt().addNachweise(nachweise);
>>>>>>>>>>                        }
>>>>>>>>>> 
>>>>>>>>>>                        if(nachweise.getPerson()!=null) {
>>>>>>>>>> nachweise.getPerson().addNachweis(nachweise);
>>>>>>>>>>                        }
>>>>>>>>>>              }
>>>>>>>>>>              return nachweiseDao.saveNachweise(nachweise);
>>>>>>>>>>          } catch (DataIntegrityViolationException e) {
>>>>>>>>>>              //e.printStackTrace();
>>>>>>>>>>              log.warn(e.getMessage());
>>>>>>>>>>              throw new NachweiseExistsException("Nachweise '" +
>>>>>>>>>> nachweise.getId() + "' already exists!");
>>>>>>>>>>          } catch (JpaSystemException e) { // needed for JPA
>>>>>>>>>>              //e.printStackTrace();
>>>>>>>>>>              log.warn(e.getMessage());
>>>>>>>>>>              throw new NachweiseExistsException("Nachweise '" +
>>>>>>>>>> nachweise.getId() + "' already exists!");
>>>>>>>>>>          }
>>>>>>>>>>      }
>>>>>>>>>> 
>>>>>>>>>> Angebot is set by the DropDownChoice Nachweise is first inserted and
>>>>>>>>>> can
>>>>>>>>>> be changed.
>>>>>>>>>> 
>>>>>>>>>> 2.
>>>>>>>>>> 
>>>>>>>>>> the hibernateModel:
>>>>>>>>>> 
>>>>>>>>>> //@XmlTransient
>>>>>>>>>> @ManyToOne(cascade = CascadeType.MERGE,fetch=FetchType.LAZY)
>>>>>>>>>> @JoinColumn(name="NachKundNr",insertable=false, updatable=false)
>>>>>>>>>>        public Kunde getKunde(){
>>>>>>>>>>           return this.kunde;
>>>>>>>>>>        }
>>>>>>>>>> 
>>>>>>>>>> recursive Part for Kunde
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> @XmlTransient
>>>>>>>>>> @OneToMany(cascade={CascadeType.MERGE},fetch=FetchType.LAZY)
>>>>>>>>>> @JoinColumn(name="NachKundNr",insertable=false, updatable=false )
>>>>>>>>>> public List<Nachweise> getNachweise() {
>>>>>>>>>>        return nachweise;
>>>>>>>>>> }
>>>>>>>>>> 
>>>>>>>>>> Kunde ist set  is set after before adding the form :
>>>>>>>>>> 
>>>>>>>>>>     final NachweiseForm nachweiseform=new
>>>>>>>>>> NachweiseForm("form",model);
>>>>>>>>>> 
>>>>>>>>>>        if (!(pars.getPosition("nachweisnr")>=0&&pars.get("
>>>>>>>>>> nachweisnr").toLong()>0))
>>>>>>>>>> {
>>>>>>>>>> 
>>>>>>>>>>        if (pars.getPosition("kundennr")>=0&&pars.get("kundennr").
>>>>>>>>>> toLong()>0)
>>>>>>>>>> {
>>>>>>>>>>            Kunde kunde=kundeManager.get(new
>>>>>>>>>> Long(pars.get("kundennr").
>>>>>>>>>> toString()));
>>>>>>>>>>            System.err.println("====================== set Kunde
>>>>>>>>>> reached");
>>>>>>>>>>            nachweiseform.getModelObject().setKunde(kunde);
>>>>>>>>>> =======================   recursive Part  for Kunde early set
>>>>>>>>>> =======================
>>>>>>>>>> nachweiseform.getModelObject().getKunde().addNachweis(
>>>>>>>>>> nachweiseform.getModelObject());
>>>>>>>>>>        }
>>>>>>>>>> 
>>>>>>>>>>        }
>>>>>>>>>> 
>>>>>>>>>>        after opening the form you see the Id of Kunde
>>>>>>>>>> after save it disappears.
>>>>>>>>>> 
>>>>>>>>>>        add(nachweiseform);
>>>>>>>>>> 
>>>>>>>>>> When I set the recursive part later same result
>>>>>>>>>> 
>>>>>>>>>> When I try to set the recursive part later I get the same result
>>>>>>>>>> 
>>>>>>>>>> Am 04.05.2014 08:55, schrieb mscoon:
>>>>>>>>>> 
>>>>>>>>>>     Usually this is not a problem. But maybe you are doing something
>>>>>>>>>> different
>>>>>>>>>> 
>>>>>>>>>>   that the "usual". I think you will need to show us your code to
>>>>>>>>>> help
>>>>>>>>>> 
>>>>>>>>>>> you
>>>>>>>>>>> any further.
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> On Sun, May 4, 2014 at 9:12 AM, Yahoo <hansheinrichbr...@yahoo.de>
>>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>>     It's the solution for all MANYTOONE-Fields defined in the Form
>>>>>>>>>>> 
>>>>>>>>>>>   I have a MANYTOONE-Field which is preset and not set in the Form.
>>>>>>>>>>> 
>>>>>>>>>>>> This field is not stored.
>>>>>>>>>>>> 
>>>>>>>>>>>> Am 02.05.2014 01:24, schrieb mscoon:
>>>>>>>>>>>> 
>>>>>>>>>>>>      No you don't. The referenced objects will be serialized along
>>>>>>>>>>>> with
>>>>>>>>>>>> the
>>>>>>>>>>>> 
>>>>>>>>>>>>    entity you are serializing and everything should work just
>>>>>>>>>>>> fine.
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>>> On Thu, May 1, 2014 at 10:30 PM, Yahoo <
>>>>>>>>>>>>> hansheinrichbr...@yahoo.de
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>>      Ok,thank  you, that's it.
>>>>>>>>>>>>> 
>>>>>>>>>>>>>    My Entity has a lot of MANYTOONE relationships which are set
>>>>>>>>>>>>> 
>>>>>>>>>>>>>  byDropDownChoices.
>>>>>>>>>>>>>> In the case of a new entity, do I have to load all these
>>>>>>>>>>>>>> Entities
>>>>>>>>>>>>>> too
>>>>>>>>>>>>>> and
>>>>>>>>>>>>>> to save their ids ?
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Am 01.05.2014 15:01, schrieb mscoon:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>       Heiner,
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>     You didn't tell us which dependency injection framework you
>>>>>>>>>>>>>>   you
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>   using.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> If you're using Spring then simply use the @SpringBean
>>>>>>>>>>>>>>> annotation to
>>>>>>>>>>>>>>> get a
>>>>>>>>>>>>>>> reference to an EntityManager or a Dao.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> @SpringBean automatically works only for components so you'll
>>>>>>>>>>>>>>> also
>>>>>>>>>>>>>>> need
>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>> add a call to injector to your model's constructor.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> public class MyModel implements IModel {
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>         @SpringBean
>>>>>>>>>>>>>>>         EntityManager entityManager;
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>         public MyModel() {
>>>>>>>>>>>>>>>           Injector.get().inject(this);
>>>>>>>>>>>>>>>         }
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> ...
>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> This will take care of instantiating all @SpringBean annotated
>>>>>>>>>>>>>>> fields
>>>>>>>>>>>>>>> as
>>>>>>>>>>>>>>> well are handle their serialization/deserialization.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Marios
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> On Thu, May 1, 2014 at 3:42 PM, Yahoo <
>>>>>>>>>>>>>>> hansheinrichbr...@yahoo.de>
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>       I tried the AbstractEntityModel <http://
>>>>>>>>>>>>>>> http://wicketinaction.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>     com/2008/09/building-a-smart-entitymodel/> from Igor
>>>>>>>>>>>>>>> Vaynberg
>>>>>>>>>>>>>>> but I
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>   didn't get
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> solved the @Dependency annotation from Vaynbergs salve.
>>>>>>>>>>>>>>>> Is there another solution for the Hibernate integration for
>>>>>>>>>>>>>>>> models.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Best regards
>>>>>>>>>>>>>>>> Heiner
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>      ------------------------------
>>>>>>>>>>>>>>>> ------------------------------
>>>>>>>>>>>>>>>> ---------
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>    To unsubscribe, e-mail: users-unsubscribe@wicket.
>>>>>>>>>>>>>>>> apache.org
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>  For additional commands, e-mail:
>>>>>>>>>>>>>>> users-h...@wicket.apache.org
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>     ------------------------------
>>>>>>>>>>>>>> ------------------------------
>>>>>>>>>>>>>> ---------
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>   To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>>>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>>    ------------------------------------------------------------
>>>>>>>>>>>> ---------
>>>>>>>>>>>> 
>>>>>>>>>>>>  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>   ------------------------------------------------------------
>>>>>>>>> ---------
>>>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>  ------------------------------------------------------------
>>>>>> ---------
>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to