Hibernate [Résolu]

Messages postés
6
Date d'inscription
dimanche 21 février 2010
Dernière intervention
20 juillet 2010
- 13 juil. 2010 à 16:11 - Dernière réponse :
Messages postés
6
Date d'inscription
dimanche 21 février 2010
Dernière intervention
20 juillet 2010
- 13 juil. 2010 à 18:09
Salam3laykom

je suis débutante en j2EE ,j'utilise comme IDE Myeclipse ,framework hibernate et struts ,mon problème c'est que même si mon action enregistrer ça marche sans erreur,je trouve pas les nouveaux données que j'ai saisi dans ma base de données

Merci d'avance
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
6
Date d'inscription
dimanche 21 février 2010
Dernière intervention
20 juillet 2010
13 juil. 2010 à 16:52
3
Merci
salam oui c'est dans la base de données ou je vois pas les nouveaux enregistrements que je sais dans ma page web
dans ma classe action


public ActionForward creer(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TestForm testForm = (TestForm) form;// TODO Auto-generated method stub
PersonneDAO a=new PersonneDAO();
Personne p =new Personne();
p.setNom(testForm.getNom());
p.setPrenom(testForm.getPrenom());
p.setEmail(testForm.getEmail());
a.save(p);
return mapping.findForward("ok");

}

Merci cs_aicha2011 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de cs_aicha2011
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
13 juil. 2010 à 16:43
0
Merci
Salut,

Montre nous ton code et explique où est-ce que tu ne vois pas les nouveaux enregistrements : en base de données, dans ton interface graphique ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
13 juil. 2010 à 16:57
0
Merci
Salut,

Ok, mais où est-ce que tu charges ta liste d'éléments à partir de la base de données ?


______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
6
Date d'inscription
dimanche 21 février 2010
Dernière intervention
20 juillet 2010
13 juil. 2010 à 17:00
0
Merci
oui c'est à partir d'une base de donnée

la classe PersonneDAO c'est la classe generée par hibernate

package hiber;

import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.LockMode;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

/**
* A data access object (DAO) providing persistence and search support for
* Personne entities. Transaction control of the save(), update() and delete()
* operations can directly support Spring container-managed transactions or they
* can be augmented to handle user-managed Spring transactions. Each of these
* methods provides additional information for how to configure it for the
* desired type of transaction control.
*
* @see hiber.Personne
* @author MyEclipse Persistence Tools
*/

public class PersonneDAO extends HibernateDaoSupport {
private static final Log log = LogFactory.getLog(PersonneDAO.class);
// property constants
public static final String NOM = "nom";
public static final String PRENOM = "prenom";
public static final String EMAIL = "email";

protected void initDao() {
// do nothing
}

public void save(Personne transientInstance) {
log.debug("saving Personne instance");
try {
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}

public void delete(Personne persistentInstance) {
log.debug("deleting Personne instance");
try {
getHibernateTemplate().delete(persistentInstance);
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
}

public Personne findById(java.lang.Integer id) {
log.debug("getting Personne instance with id: " + id);
try {
Personne instance = (Personne) getHibernateTemplate().get(
"hiber.Personne", id);
return instance;
} catch (RuntimeException re) {
log.error("get failed", re);
throw re;
}
}

public List findByExample(Personne instance) {
log.debug("finding Personne instance by example");
try {
List results = getHibernateTemplate().findByExample(instance);
log.debug("find by example successful, result size: "
+ results.size());
return results;
} catch (RuntimeException re) {
log.error("find by example failed", re);
throw re;
}
}

public List findByProperty(String propertyName, Object value) {
log.debug("finding Personne instance with property: " + propertyName
+ ", value: " + value);
try {
String queryString = "from Personne as model where model."
+ propertyName + "= ?";
return getHibernateTemplate().find(queryString, value);
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
}

public List findByNom(Object nom) {
return findByProperty(NOM, nom);
}

public List findByPrenom(Object prenom) {
return findByProperty(PRENOM, prenom);
}

public List findByEmail(Object email) {
return findByProperty(EMAIL, email);
}

public List findAll() {
log.debug("finding all Personne instances");
try {
String queryString = "from Personne";
return getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
}

public Personne merge(Personne detachedInstance) {
log.debug("merging Personne instance");
try {
Personne result = (Personne) getHibernateTemplate().merge(
detachedInstance);
log.debug("merge successful");
return result;
} catch (RuntimeException re) {
log.error("merge failed", re);
throw re;
}
}

public void attachDirty(Personne instance) {
log.debug("attaching dirty Personne instance");
try {
getHibernateTemplate().saveOrUpdate(instance);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}

public void attachClean(Personne instance) {
log.debug("attaching clean Personne instance");
try {
getHibernateTemplate().lock(instance, LockMode.NONE);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}

public static PersonneDAO getFromApplicationContext(ApplicationContext ctx) {
return (PersonneDAO) ctx.getBean("PersonneDAO");
}
}



et la classe personne:

package hiber;

/**
* Personne entity. @author MyEclipse Persistence Tools
*/

public class Personne implements java.io.Serializable {

// Fields

/**
*
*/
private static final long serialVersionUID = -5376179349981190800L;
private Integer id;
private String nom;
private String prenom;
private String email;

// Constructors

/** default constructor */
public Personne() {
}

/** minimal constructor */
public Personne(Integer id) {
this.id = id;
}

/** full constructor */
public Personne(Integer id, String nom, String prenom, String email) {
this.id = id;
this.nom = nom;
this.prenom = prenom;
this.email = email;
}

// Property accessors

public Integer getId() {
return this.id;
}

public void setId(Integer id) {
this.id = id;
}

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 getEmail() {
return this.email;
}

public void setEmail(String email) {
this.email = email;
}

}
Commenter la réponse de cs_aicha2011
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
13 juil. 2010 à 17:07
0
Merci
Salut,

A quel endroit de ton code tu récupères les enregistrements de ta base afin de remplir ta requête en vue de les afficher dans la page html ? Est-ce que tu recharges bien les données après avoir apportés tes modifications (ajout ici en l'occurence).
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
6
Date d'inscription
dimanche 21 février 2010
Dernière intervention
20 juillet 2010
13 juil. 2010 à 17:11
0
Merci
je reccupére les donnée a partir de la pag jsp et je dois les stockés dans ma base de donnée tu vois

la clase acyion forme est :
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.teststruts.struts.form;

import org.apache.struts.action.ActionForm;

/**
* MyEclipse Struts
* Creation date: 07-12-2010
*
* XDoclet definition:
* @struts.form name="testForm"
*/
public class TestForm extends ActionForm {
/**
*
*/
private static final long serialVersionUID = -407974313688165039L;

/*
* Generated fields
*/
public Integer id;



public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

/** prenom property */
private String prenom;

/** email property */
private String email;

/** nom property */
private String nom;

/*
* Generated Methods
*/

/**
* Returns the prenom.
* @return String
*/
public String getPrenom() {
return prenom;
}

/**
* Set the prenom.
* @param prenom The prenom to set
*/
public void setPrenom(String prenom) {
this.prenom = prenom;
}

/**
* Returns the email.
* @return String
*/
public String getEmail() {
return email;
}

/**
* Set the email.
* @param email The email to set
*/
public void setEmail(String email) {
this.email = email;
}

/**
* Returns the nom.
* @return String
*/
public String getNom() {
return nom;
}

/**
* Set the nom.
* @param nom The nom to set
*/
public void setNom(String nom) {
this.nom = nom;
}
}


et ma page jsp st :

<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>

<html>
<head>
<title>JSP for TestForm form</title>
</head>

<html:form action="/test">
<html:hidden property="hidden" value="creer"/>
id : <html:text property="id"/><html:errors property="id"/>

prenom : <html:text property="prenom"/><html:errors property="prenom"/>

email : <html:text property="email"/><html:errors property="email"/>

nom : <html:text property="nom"/><html:errors property="nom"/>

<html:submit/><html:cancel/>
</html:form>

</html>
Commenter la réponse de cs_aicha2011
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
13 juil. 2010 à 17:29
0
Merci
Salut,

Quel est le scope de ton formBean ?

Si ton scope est request, c'est normal que tu perdes les valeurs : ton formulaire est à remplir à chaque requête.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
6
Date d'inscription
dimanche 21 février 2010
Dernière intervention
20 juillet 2010
13 juil. 2010 à 17:42
0
Merci
j'ai changé le scope en session mais tjrs le meme probleme
j'ai lu ds des forums de discussion que save n'enregistre pas dans la base de données et que je dois faire un commit mais je n'arrive pas à le faire

si t'as une idée merci de me la poster
Commenter la réponse de cs_aicha2011
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
13 juil. 2010 à 18:08
0
Merci
Salut,

Oui il y a des commit et des flush à faire pour s'assurer de l'écriture en base. Par contre, je ne sais plus trop comment tu fais un flush avec hibernate : ca fait un petit bout de temps que je n'ai pas utilisé hibernate : fais une petite recherche sur google.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
6
Date d'inscription
dimanche 21 février 2010
Dernière intervention
20 juillet 2010
13 juil. 2010 à 18:09
0
Merci
d'acc merci
Commenter la réponse de cs_aicha2011

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.