请问一个关于一个表和其他三个表同时保存的问题。
我要保存一系列信息(savePeopleAction.java),里面的信息保存的时候分别保存在四个表里面(author表与其他三个个表的关系分别是 1:1 , 1:* , *:*),中间部分那里出错。是什么原因。
.public ActionForward save(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
if (log.isDebugEnabled()) {
log.debug("Entering 'save' method");
}
// Extract attributes and parameters we will need
ActionMessages messages = new ActionMessages();
PeopleForm peopleForm = (PeopleForm) form;
boolean isNew = ("".equals(peopleForm.getId()) || peopleForm.getId() == null);
PeopleManager mgr = (PeopleManager) getBean("peopleManager");
Author author = new Author();
author.setAlias(peopleForm.getAlias());
//1:1
People people = new People();
people.setCount(peopleForm.getCount());
people.setDate(peopleForm.getDate());
people.setSales(peopleForm.getSales());
people.setSex(peopleForm.getSex());
author.setPeople(people);
//1:*
//List publicationList = new ArrayList();
Publication publication = new Publication();
publication.setBookName(peopleForm.getBookName());
publication.setDataTime(peopleForm.getDataTime());
publication.setAuthor(author);
author.getPublications().add(publication);
//上面那句就出错了,是什么原因啊?
//上面那句就出错了,是什么原因啊?
//上面那句就出错了,是什么原因啊?
//*:*
Work work = new Work();
work.setTyee(peopleForm.getType());
work.getAuthors().add(author);
author.getWorks().add(work);
//author.setPublications(publicationList);
mgr.savePeople(people);