السلام عليكم
لا زلنا في الستروتس :blush:
:S
المهم افترضنا أننا عندنا كلاس Client وهذا الكلاس يعتبر مفتاحه الاساسي مفتاح أجنبي في الكلاس reservation
عند ضبط hibernate يعطي خاصية زائدة في الكلاس client
المسالة بسيطة عند إضافة client بواسطة clientactionform ولكن الخاصية التي تتعلق بreservation لا أعرف كيف أضيفها بعلم أنها تأخذ نوع HashSet
إليكم الاكواد ليتبين كل شيء
اقتباسpackage com.location;// Generated 7 avr. 2009 00:28:43 by Hibernate Tools 3.2.1.GA
import java.util.HashSet;
import java.util.Set;
/**
* Client generated by hbm2java
*/
public class Client implements java.io.Serializable {
private String cin;
private String nom;
private String prenom;
private String adr;
private String tel;
private String email;
private String pseudo;
private String password;
private Set reservations = new HashSet(0);
public Client() {
}
public Client(String cin, String nom, String prenom, String adr,
String tel, String email, String pseudo, String password) {
this.cin = cin;
this.nom = nom;
this.prenom = prenom;
this.adr = adr;
this.tel = tel;
this.email = email;
this.pseudo = pseudo;
this.password = password;
}
public Client(String cin, String nom, String prenom, String adr,
String tel, String email, String pseudo, String password,
Set reservations) {
this.cin = cin;
this.nom = nom;
this.prenom = prenom;
this.adr = adr;
this.tel = tel;
this.email = email;
this.pseudo = pseudo;
this.password = password;
this.reservations = reservations;
}
public String getCin() {
return this.cin;
}
public void setCin(String cin) {
this.cin = cin;
}
public String getNom() {
return this.nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return this.prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public String getAdr() {
return this.adr;
}
public void setAdr(String adr) {
this.adr = adr;
}
public String getTel() {
return this.tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getEmail() {
return this.email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPseudo() {
return this.pseudo;
}
public void setPseudo(String pseudo) {
this.pseudo = pseudo;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
public Set getReservations() {
return this.reservations;
}
public void setReservations(Set reservations) {
this.reservations = reservations;
}
}
اقتباسpackage com.struts.data;import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
public class ClientForm extends ActionForm{
private String cin;
private String nom;
private String prenom;
private String adr;
private String tel;
private String email;
private String pseudo;
private String password;
Set reservations;
public Set getReservations() {
return reservations;
}
public void setReservations(Set reservations) {
this.reservations = reservations;
}
public String getCin() {
return cin;
}
public void setCin(String cin) {
this.cin = cin;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public String getAdr() {
return adr;
}
public void setAdr(String adr) {
this.adr = adr;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPseudo() {
return pseudo;
}
public void setPseudo(String pseudo) {
this.pseudo = pseudo;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
return errors;
}
public void reset(ActionMapping mapping, HttpServletRequest request) {
this.adr="";
this.cin="";
this.email="";
this.nom="";
this.password="";
this.prenom="";
this.pseudo="";
this.tel="";
}
}
المشكلة هنا
اقتباسpackage com.struts.controleur;import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.Session;
import org.hibernate.mapping.Set;
import com.location.Client;
import com.struts.data.ClientForm;
import com.util.HibernateUtil;
public class AjoutClientAction extends Action{
private String cin;
private String nom;
private String prenom;
private String adr;
private String tel;
private String email;
private String pseudo;
private String password;
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest req,
HttpServletResponse res) throws Exception {
String resultat = null;
String cin=((ClientForm)form).getCin();
String nom=((ClientForm)form).getNom();
String prenom=((ClientForm)form).getPrenom();
String adr=((ClientForm)form).getAdr();
String tel=((ClientForm)form).getTel();
String email=((ClientForm)form).getEmail();
String pseudo=((ClientForm)form).getPseudo();
String password=((ClientForm)form).getPassword();
HashSet s= new HashSet(0);
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Client c=new Client("1","2","3", "4","15","89","84", "6",(java.util.Set) s);
s.add©;
System.out.println(c.getCin()+c.getAdr()+c.getEmail()+c.getNom()+c.getNom()+c.ge
tPassword()+c.getPseudo()+c.getTel()+c.getReservations());
try{
session.save©;
session.getTransaction().commit();
HibernateUtil.getSessionFactory().close();
resultat = "succes";
}catch(Exception ex){
System.out.println(ex.getMessage());
HibernateUtil.getSessionFactory().close();
resultat = "echec";
}
return mapping.findForward(resultat);
}
}