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]
>
>

Reply via email to