Here are exceptions I got after submitting:
 

Entering getProperty()
Error setting value
ognl.NoSuchPropertyException: java.util.HashSet.0
...
 


Entering getProperty()
Error setting value
ognl.NoSuchPropertyException: java.util.HashSet.0
at ognl.SetPropertyAccessor.getProperty(SetPropertyAccessor.java:67)
..


Entering getProperty()
Error setting value
ognl.NoSuchPropertyException: java.util.HashSet.1
at ognl.SetPropertyAccessor.getProperty(SetPropertyAccessor.java:67)
..


Entering getProperty()
Error setting value
ognl.NoSuchPropertyException: java.util.HashSet.1
at ognl.SetPropertyAccessor.getProperty(SetPropertyAccessor.java:67)
..



Hibernate Validation in class com.metacrud.web.ParentAction
Hibernate Validation found no erros.
Executing action method = saveOrUpdate
Redirecting to finalLocation /Metacrud/listParent
after Locale=fr
intercept } 
processing flush-time cascades
dirty checking collections
Collection found: [com.metacrud.domain.Parent.values#1], was: [<unreferenced>] 
(initialized)
Flushed: 0 insertions, 1 updates, 0 deletions to 1 objects
Flushed: 1 (re)creations, 0 updates, 1 removals to 1 collections
listing entities:
com.metacrud.domain.Parent{id=1, values=[], name=Parent1}
about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
update PARENT set NAME=? where PARENT_ID=?
Executing batch size: 1
about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
Deleting collection: [com.metacrud.domain.Parent.values#1]
about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
delete from PARENT_CHILD where PARENT_ID=?
done deleting collection

 

 

 


 
> From: apin...@hotmail.co.uk
> To: user@struts.apache.org
> Subject: RE: CRUD with a OneToMany association under Struts 2 / Hibernate 3
> Date: Thu, 1 Apr 2010 12:57:39 +0100
> 
> 
> 
> 
> in log4j.properties file (same location as struts.xml and hibernate config 
> files)
> 
> add
> 
> log4j.logger.com.opensymphony.xwork2.interceptor.ParametersInterceptor=debug
> 
> this will output param name/value pairs being posted from your page.
> 
> 
> 
> ----------------------------------------
> > From: brgrandj...@live.fr
> > To: user@struts.apache.org
> > Subject: RE: CRUD with a OneToMany association under Struts 2 / Hibernate 3
> > Date: Thu, 1 Apr 2010 13:54:33 +0200
> >
> >
> > Dear Adam,
> >
> >
> >
> > I just added a public Child getValues(int idx) in the Parent class 
> > definition but it is never called.
> >
> >
> >
> > Could u explain to me where and how can I turn on the parameterinterceptor 
> > logging? In the struts.xml file?
> >
> >
> >
> > thks a lot
> >
> >
> > bruno
> >
> >
> >
> >
> >
> >> From: apin...@hotmail.co.uk
> >> To: user@struts.apache.org
> >> Subject: RE: CRUD with a OneToMany association under Struts 2 / Hibernate 3
> >> Date: Thu, 1 Apr 2010 12:18:48 +0100
> >>
> >>
> >>
> >>
> >> turn on the parameterinterceptor logging and make sure as mentioned that
> >>
> >> 1) the values you expect for each child are being sent to the server (id 
> >> and name)
> >> 2) the parameter names are correct for setting each child
> >>
> >> i had some issues getting lists of items to be updated by form submission 
> >> alone.
> >>
> >> for example does your parent object have a getValues method taking an 
> >> index value
> >>
> >> getParent().getValues(1).setId(1)
> >> getParent().getValues(1).setName("bob")
> >>
> >> would be called by parameterinterceptor
> >>
> >>
> >> ----------------------------------------
> >>> From: brgrandj...@live.fr
> >>> To: user@struts.apache.org
> >>> Subject: RE: CRUD with a OneToMany association under Struts 2 / Hibernate 
> >>> 3
> >>> Date: Thu, 1 Apr 2010 12:16:09 +0200
> >>>
> >>>
> >>> Dear René
> >>>
> >>>
> >>>
> >>> I changed my jsp page so as to integrate the following block:
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> which generates the following html code:
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> I can display my complete Child Set but I got the same result after 
> >>> updating: my Child Set is empty.
> >>>
> >>>
> >>>
> >>> Is that necessary to modify my ParentAction as well? If yes what to do?
> >>>
> >>>
> >>>
> >>> public class ParentAction extends ActionSupport implements ModelDriven {
> >>>
> >>> private static final long serialVersionUID = -2662966220408285700L;
> >>> private Parent cl = new Parent();
> >>> private List clList = new ArrayList();
> >>> private ParentDAO clDAO = new ParentDAOImpl();
> >>>
> >>> @Override
> >>> public Parent getModel() {
> >>> return cl;
> >>> }
> >>>
> >>> public String saveOrUpdate()
> >>> { // cl.values is empty here!!
> >>> clDAO.saveOrUpdateParent(cl);
> >>> return SUCCESS;
> >>> }
> >>>
> >>> public String save()
> >>> {
> >>> clDAO.saveParent(cl);
> >>> return SUCCESS;
> >>> }
> >>>
> >>> public String list()
> >>> {
> >>> clList = clDAO.listParent();
> >>> return SUCCESS;
> >>> }
> >>>
> >>> public String delete()
> >>> {
> >>> HttpServletRequest request = (HttpServletRequest) 
> >>> ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
> >>> clDAO.deleteParent(Long.parseLong(request.getParameter("id")));
> >>> return SUCCESS;
> >>> }
> >>>
> >>> public String edit()
> >>> { // cl.values contains some valid Child elements here!!
> >>> HttpServletRequest request = (HttpServletRequest) 
> >>> ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
> >>> cl = clDAO.listParentById(Long.parseLong(request.getParameter("id")));
> >>> }
> >>> return SUCCESS;
> >>> }
> >>>
> >>> public Parent getParent() {
> >>> return cl;
> >>> }
> >>>
> >>> public void setParent(Parent cl) {
> >>> this.cl = cl;
> >>> }
> >>>
> >>> public List getParentList() {
> >>> return clList;
> >>> }
> >>>
> >>> public void setParentList(List clList) {
> >>> this.clList = clList;
> >>> }
> >>> }
> >>>
> >>>
> >>>
> >>>> Date: Thu, 1 Apr 2010 11:30:23 +0200
> >>>> From: gie...@it-neering.net
> >>>> To: user@struts.apache.org
> >>>> Subject: Re: CRUD with a OneToMany association under Struts 2 / 
> >>>> Hibernate 3
> >>>>
> >>>> Given the model you presented in the first post, your problem seems to
> >>>> be that the posted values have not the correct name for the children's
> >>>> form fields. The parameters names you would need are
> >>>>
> >>>> id
> >>>> name
> >>>> values[0].id
> >>>> values[0].name
> >>>> values[1].id
> >>>> values[2].name
> >>>> ...
> >>>>
> >>>> for the parameters interceptor to work properly when applying the posted
> >>>> values.
> >>>>
> >>>> See here for more details:
> >>>> http://struts.apache.org/2.1.8/docs/tabular-inputs.html
> >>>>
> >>>> - René
> >>>>
> >>>> bruno grandjean schrieb:
> >>>>> Dear Rene,
> >>>>>
> >>>>> Thks a lot for replying to me because I am feeling a little bit alone 
> >>>>> with
> >>>>> my CRUD ;-). In fact I am trying to build a dynamic MetaCrud.
> >>>>> My pb is simple: in the same jsp page I would like to update a Parent
> >>>>> object
> >>>>> and its Childs (values):
> >>>>>
> >>>>>
> >>>>>
> >>>>>>>> name="name" label="Nom" />
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> From an existing Parent object with many Childs objects I can easily 
> >>>>> modify
> >>>>> parent.name for instance but the collection of Child objects (values) is
> >>>>> always empty in the ParentAction (saveOrUpdate() method) after 
> >>>>> submitting.
> >>>>> However I can display each values[i].name in the jsp page with the 
> >>>>> correct
> >>>>> value.
> >>>>> So it is not an issue with Hibernate but with the jsp or ModelDriven
> >>>>> interface I don't know..Do you have any idea?
> >>>>> Basically I was not able to find a struts or spring documentation about
> >>>>> CRUD
> >>>>> & association between two entities on the same jsp page.
> >>>>> best regards
> >>>>> bruno
> >>>>>
> >>>>>
> >>>>>
> >>>>> --------------------------------------------------
> >>>>> From: "Rene Gielen"
> >>>>> Sent: Wednesday, March 31, 2010 7:12 PM
> >>>>> To: "Struts Users Mailing List"
> >>>>> Subject: Re: CRUD with a OneToMany association under Struts 2 / 
> >>>>> Hibernate 3
> >>>>>
> >>>>>> I'm not sure if I understand what your actual question is, nor whether
> >>>>>> it is particularly Struts 2 related (rather than just Hibernate) - but
> >>>>>> you might want to have a look in the CRUD demo section of the Struts 2
> >>>>>> showcase application. Maybe you will also find this demo useful:
> >>>>>> http://github.com/rgielen/struts2crudevolutiondemo
> >>>>>>
> >>>>>> - René
> >>>>>>
> >>>>>> bruno grandjean schrieb:
> >>>>>>> Hi
> >>>>>>>
> >>>>>>> I am trying to implement a simple CRUD with a OneToMany association
> >>>>>>> under Struts 2 / Hibernate 3.
> >>>>>>> I have two entities Parent and Child:
> >>>>>>>
> >>>>>>> @Entity
> >>>>>>> @Table(name="PARENT")
> >>>>>>> public class Parent {
> >>>>>>> private Long id;
> >>>>>>> private Set values = new HashSet();
> >>>>>>> ..
> >>>>>>> @Entity
> >>>>>>> @Table(name="CHILD")
> >>>>>>> public class Child {
> >>>>>>> private Long id;
> >>>>>>> private String name;
> >>>>>>> ..
> >>>>>>>
> >>>>>>> I can easily create, delete Parent or read the Child Set (values) but
> >>>>>>> it is impossible to update Child Set.
> >>>>>>> The jsp page (see below) reinit the values Set, no record after
> >>>>>>> updating!
> >>>>>>> Could u explain to me what's wrong?
> >>>>>>>
> >>>>>>> here are my code:
> >>>>>>>
> >>>>>>> @Entity
> >>>>>>> @Table(name="PARENT")
> >>>>>>> public class Parent {
> >>>>>>> private Long id;
> >>>>>>> private Set values = new HashSet();
> >>>>>>> @Id
> >>>>>>> @GeneratedValue
> >>>>>>> @Column(name="PARENT_ID")
> >>>>>>> public Long getId() {
> >>>>>>> return id;
> >>>>>>> }
> >>>>>>> public void setId(Long id) {
> >>>>>>> this.id = id;
> >>>>>>> }
> >>>>>>> @ManyToMany(fetch = FetchType.EAGER)
> >>>>>>> @JoinTable(name = "PARENT_CHILD", joinColumns = { @JoinColumn(name =
> >>>>>>> "PARENT_ID") }, inverseJoinColumns = { @JoinColumn(name = "CHILD_ID") 
> >>>>>>> })
> >>>>>>> public Set getValues() {
> >>>>>>> return values;
> >>>>>>> }
> >>>>>>> public void setValues(Set lst) {
> >>>>>>> values = lst;
> >>>>>>> }
> >>>>>>> }
> >>>>>>>
> >>>>>>> @Entity
> >>>>>>> @Table(name="CHILD")
> >>>>>>> public class Child {
> >>>>>>> private Long id;
> >>>>>>> private String name;
> >>>>>>> @Id
> >>>>>>> @GeneratedValue
> >>>>>>> @Column(name="CHILD_ID")
> >>>>>>> public Long getId() {
> >>>>>>> return id;
> >>>>>>> }
> >>>>>>> public void setId(Long id) {
> >>>>>>> this.id = id;
> >>>>>>> }
> >>>>>>> @Column(name="NAME")
> >>>>>>> public String getName() {
> >>>>>>> return name;
> >>>>>>> }
> >>>>>>> public void setName(String val) {
> >>>>>>> name = val;
> >>>>>>> }
> >>>>>>> }
> >>>>>>>
> >>>>>>> public interface ParentDAO {
> >>>>>>> public void saveOrUpdateParent(Parent cl);
> >>>>>>> public void saveParent(Parent cl);
> >>>>>>> public List listParent();
> >>>>>>> public Parent listParentById(Long clId);
> >>>>>>> public void deleteParent(Long clId);
> >>>>>>> }
> >>>>>>>
> >>>>>>> public class ParentDAOImpl implements ParentDAO {
> >>>>>>> @SessionTarget
> >>>>>>> Session session;
> >>>>>>> @TransactionTarget
> >>>>>>> Transaction transaction;
> >>>>>>>
> >>>>>>> @Override
> >>>>>>> public void saveOrUpdateParent(Parent cl) {
> >>>>>>> try {
> >>>>>>> session.saveOrUpdate(cl);
> >>>>>>> } catch (Exception e) {
> >>>>>>> transaction.rollback();
> >>>>>>> e.printStackTrace();
> >>>>>>> }
> >>>>>>> }
> >>>>>>>
> >>>>>>> @Override
> >>>>>>> public void saveParent(Parent cl) {
> >>>>>>> try {
> >>>>>>> session.save(cl);
> >>>>>>> } catch (Exception e) {
> >>>>>>> transaction.rollback();
> >>>>>>> e.printStackTrace();
> >>>>>>> }
> >>>>>>> }
> >>>>>>>
> >>>>>>> @Override
> >>>>>>> public void deleteParent(Long clId) {
> >>>>>>> try {
> >>>>>>> Parent cl = (Parent) session.get(Parent.class, clId);
> >>>>>>> session.delete(cl);
> >>>>>>> } catch (Exception e) {
> >>>>>>> transaction.rollback();
> >>>>>>> e.printStackTrace();
> >>>>>>> }
> >>>>>>> }
> >>>>>>>
> >>>>>>> @SuppressWarnings("unchecked")
> >>>>>>> @Override
> >>>>>>> public List listParent() {
> >>>>>>> List courses = null;
> >>>>>>> try {
> >>>>>>> courses = session.createQuery("from Parent").list();
> >>>>>>> } catch (Exception e) {
> >>>>>>> e.printStackTrace();
> >>>>>>> }
> >>>>>>> return courses;
> >>>>>>> }
> >>>>>>>
> >>>>>>> @Override
> >>>>>>> public Parent listParentById(Long clId) {
> >>>>>>> Parent cl = null;
> >>>>>>> try {
> >>>>>>> cl = (Parent) session.get(Parent.class, clId);
> >>>>>>> } catch (Exception e) {
> >>>>>>> e.printStackTrace();
> >>>>>>> }
> >>>>>>> return cl;
> >>>>>>> }
> >>>>>>> }
> >>>>>>>
> >>>>>>> public class ParentAction extends ActionSupport implements
> >>>>>>> ModelDriven {
> >>>>>>>
> >>>>>>> private static final long serialVersionUID = -2662966220408285700L;
> >>>>>>> private Parent cl = new Parent();
> >>>>>>> private List clList = new ArrayList();
> >>>>>>> private ParentDAO clDAO = new ParentDAOImpl();
> >>>>>>>
> >>>>>>> @Override
> >>>>>>> public Parent getModel() {
> >>>>>>> return cl;
> >>>>>>> }
> >>>>>>>
> >>>>>>> public String saveOrUpdate()
> >>>>>>> {
> >>>>>>> clDAO.saveOrUpdateParent(cl);
> >>>>>>> return SUCCESS;
> >>>>>>> }
> >>>>>>>
> >>>>>>> public String save()
> >>>>>>> {
> >>>>>>> clDAO.saveParent(cl);
> >>>>>>> return SUCCESS;
> >>>>>>> }
> >>>>>>>
> >>>>>>> public String list()
> >>>>>>> {
> >>>>>>> clList = clDAO.listParent();
> >>>>>>> return SUCCESS;
> >>>>>>> }
> >>>>>>>
> >>>>>>> public String delete()
> >>>>>>> {
> >>>>>>> HttpServletRequest request = (HttpServletRequest)
> >>>>>>> ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
> >>>>>>> clDAO.deleteParent(Long.parseLong(request.getParameter("id")));
> >>>>>>> return SUCCESS;
> >>>>>>> }
> >>>>>>>
> >>>>>>> public String edit()
> >>>>>>> {
> >>>>>>> HttpServletRequest request = (HttpServletRequest)
> >>>>>>> ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
> >>>>>>> cl = clDAO.listParentById(Long.parseLong(request.getParameter("id")));
> >>>>>>> return SUCCESS;
> >>>>>>> }
> >>>>>>>
> >>>>>>> public Parent getParent() {
> >>>>>>> return cl;
> >>>>>>> }
> >>>>>>>
> >>>>>>> public void setParent(Parent cl) {
> >>>>>>> this.cl = cl;
> >>>>>>> }
> >>>>>>>
> >>>>>>> public List getParentList() {
> >>>>>>> return clList;
> >>>>>>> }
> >>>>>>>
> >>>>>>> public void setParentList(List clList) {
> >>>>>>> this.clList = clList;
> >>>>>>> }
> >>>>>>> }
> >>>>>>>
> >>>>>>> and finally the jsp page:
> >>>>>>>
> >>>>>>>
> >>>>>>>>>>>> "http://www.w3.org/TR/html4/loose.dtd";>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>
> >>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>
> >>>>>>>
> >>
> >>>>>>>
> >>
> >>
> >>>>>>>
> >> Child(s)
> >>>>>>>
> >>
> >>>>>>>
> >>>>>>>>>>>> class="oddeven">
> >>>>>>>
> >>
> >>
> >>>>>>>
> >>>>>>>
> >>
> >>>>>>>
> >>>>>>>
> >>
> >>>>>>>
> >>>>>>> Edit
> >>>>>>>
> >>
> >>>>>>>
> >>>>>>> Delete
> >>>>>>>
> >>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> René Gielen
> >>>>>> IT-Neering.net
> >>>>>> Saarstrasse 100, 52062 Aachen, Germany
> >>>>>> Tel: +49-(0)241-4010770
> >>>>>> Fax: +49-(0)241-4010771
> >>>>>> Cel: +49-(0)163-2844164
> >>>>>> http://twitter.com/rgielen
> >>>>>>
> >>>>>> ---------------------------------------------------------------------
> >>>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> >>>>>> For additional commands, e-mail: user-h...@struts.apache.org
> >>>>>>
> >>>>>>
> >>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> >>>>> For additional commands, e-mail: user-h...@struts.apache.org
> >>>>>
> >>>>
> >>>> --
> >>>> René Gielen
> >>>> IT-Neering.net
> >>>> Saarstrasse 100, 52062 Aachen, Germany
> >>>> Tel: +49-(0)241-4010770
> >>>> Fax: +49-(0)241-4010771
> >>>> Cel: +49-(0)163-2844164
> >>>> http://twitter.com/rgielen
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> >>>> For additional commands, e-mail: user-h...@struts.apache.org
> >>>>
> >>>
> >>> _________________________________________________________________
> >>> Découvrez comment SURFER DISCRETEMENT sur un site de rencontres !
> >>> http://clk.atdmt.com/FRM/go/206608211/direct/01/
> >> _________________________________________________________________
> >> Do you have a story that started on Hotmail? Tell us now
> >> http://clk.atdmt.com/UKM/go/195013117/direct/01/
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> >> For additional commands, e-mail: user-h...@struts.apache.org
> >>
> >
> > _________________________________________________________________
> > Consultez gratuitement vos emails Orange, Gmail, Free, ... directement dans 
> > HOTMAIL !
> > http://www.windowslive.fr/hotmail/agregation/ 
> _________________________________________________________________
> Do you have a story that started on Hotmail? Tell us now
> http://clk.atdmt.com/UKM/go/195013117/direct/01/
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
> 
                                          
_________________________________________________________________
Consultez gratuitement vos emails Orange, Gmail, Free, ... directement dans 
HOTMAIL !
http://www.windowslive.fr/hotmail/agregation/

Reply via email to