【发布时间】:2014-07-23 07:18:37
【问题描述】:
我不想同时插入表“参与者”和表“Avis”(这些表之间的关系是一对多)。当我每次运行该应用程序时,它都会显示错误。两个表的insert都没问题,只是Avis表的外键有问题,取空值。 真的我需要帮助,而且我是 Java Developpemnt 的初学者,所以这可能是一个愚蠢的错误。 这是我的 managedBean:
@ManagedBean(name = "participBean")
@RequestScoped
public class ParticipBean implements Serializable {
private static final long serialVersionUID = 1L;
ApplicationContext context= new ClassPathXmlApplicationContext("beans.xml");
ParticipantService ParticipantServ=(ParticipantService);
context.getBean("ParticipantService");
AvisService AvisServ=(AvisService) context.getBean("AvisService");
private int idParticipant;
private Integer idAvis;
private Participant particip;
private Avis avis;
public Avis getAvis() {
return avis;
}
public void setAvis(Avis avis) {
this.avis = avis;
}
public int getId_avis() {
return idAvis;
}
public void setId_avis(Integer idAvis) {
this.idAvis = idAvis;
}
public Participant getParticip() {
return particip;
}
public void setParticip(Participant particip) {
this.particip = particip;
}
public int getId_interet() {
return id_interet;
}
public void setId_interet(int id_interet) {
this.id_interet = id_interet;
}
public Integer getId_participant() {
return idParticipant;
}
public void setId_participant(Integer idParticipant) {
this.idParticipant = idParticipant;
}
public ParticipBean() {
particip=new Participant();
avis=new Avis();
}
public void save(ActionEvent actionEvent){
Participant ad=ParticipantServ.findById(idParticipant);
avis.setParticipant(ad);
AvisServ.save(avis);
ParticipantServ.save(particip);
addMessage("Profil ajouté avec succès !");
avis=new Avis();
}
}
}
有什么帮助吗? 这是映射 参与者.java:
private Set<Avis>listeAvis=new HashSet<Avis>();
@OneToMany(mappedBy="participant",cascade={CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE})
public Set<Avis> getListeAvis() {
return listeAvis;
}
public void setListeAvis(Set<Avis> listeAvis) {
this.listeAvis = listeAvis;
}
Avis.java:
private Participant participant;
@ManyToOne(targetEntity=com.pfeAndroid.Beans.Participant.class)
@JoinColumn(name="id_participant")
public Participant getParticipant() {
return participant;
}
public void setParticipant(Participant participant) {
this.participant = participant;
}
【问题讨论】:
-
你能和我们分享你得到的错误,然后你使用的是持久化框架吗?如果是,您可以与我们分享您的地图吗?我们需要很多信息来帮助您
-
嗨,Skizzo,我正在使用休眠进行持久化,这是每次
GRAVE: java.lang.NullPointerException javax.faces.el.EvaluationException: java.lang.NullPointerException at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)时显示的错误。我在主代码中添加了映射。