Try this from the Hibernate annotiations guide: To map a bidirectional one to many, with the one-to-many side as the owning side, you have to remove the mappedBy element and set the many to one @JoinColumn as insertable and updatable to false. This solution is obviously not optimized and will produce some additional UPDATE statements.
See section 2.2.5.3.2.1. here: http://tinyurl.com/ypdln3 Mike On 8/24/07, Julien C. <[EMAIL PROTECTED]> wrote: > > I think it's correct : > > --------------------------------- > @Entity > public class Enquete implements java.io.Serializable { > ... > > @OneToMany(mappedBy="enquete",cascade=CascadeType.ALL) > public Set<Modele> getModeles() { > return modeles; > } > ... > } > > @Entity > public class Modele implements java.io.Serializable { > ... > @ManyToOne > @JoinColumn(name="ENQUETE_ID") > public Enquete getEnquete() { > return enquete; > } > ... > } > --------------------------------- > > Julien. > > > Michael Horwitz a écrit : > > Have you set the appropriate cascade on the relationship between > > Enquete and Modele? > > > > Mike > > > > On 8/24/07, *Julien C.* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> > > wrote: > > > > Hi, > > > > I don't figure out how to use the form:select tag with multiple > > select. I have try this : > > > > --------------------------------- > > <form:select id="modeles" path="modeles" multiple="true" size="5" > > > <c:forEach var="modele" items="${enquete.modeles}"> > > <form:option value="${ modele.id <http://modele.id/>}" > > label="${modele.nom}" /> > > </c:forEach> > > <form:options items="${modeles}" itemValue="id" > > itemLabel="nom"></form:options> > > </form:select> > > --------------------------------- > > no errors but nothing is selected and nothing is saved - > > I have registered a custom binder for Modele object.. > > > > so I take a look to userForm (with roles) > > I try this : > > --------------------------------- > > <form:select id="modeles" path="modeles" multiple="true" size="5" > > > <c:forEach var="modele" items="${enquete.modeles}"> > > <option value="${modele.id <http://modele.id/>}" > > selected="selected" >${modele.nom}</option> > > </c:forEach> > > <form:options items="${modeles}" itemValue="id" > > itemLabel="nom"></form:options> > > </form:select> > > --------------------------------- > > > > and in my controller > > --------------------------------- > > ... > > onSubmit{ > > ... > > String[] enqueteModeles = request.getParameterValues("modeles"); > > if (enqueteModeles != null) { > > log.debug("clearing enquete modeles"); > > enquete.getModeles().clear(); > > for (String modeleId : enqueteModeles) { > > log.debug("adding modele " + modeleId); > > enquete.getModeles().add( modeleManager.get( > > Long.valueOf(modeleId)) ); > > } > > }else{ > > log.debug("getParameterValues('modeles') is null"); > > } > > > > enqueteManager.save(enquete); > > ... > > } > > ... > > --------------------------------- > > It's working fine for the selection but nothing is saved : > > It's strange because in my logs I've got : > > > > DEBUG [btpool0-1] EnqueteFormController.onSubmit (78) | clearing > > enquete modeles > > DEBUG [btpool0-1] EnqueteFormController.onSubmit(81) | adding modele > 1 > > DEBUG [btpool0-1] EnqueteFormController.onSubmit(81) | adding modele > 2 > > DEBUG [btpool0-1] EnqueteFormController.onSubmit (81) | adding > > modele 3 > > > > So where is the problem ? > > My Manager extends GenericManager... > > > > > > A idea ? > > Thanks, Julien Chanséaume. > > > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
