IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Problème de Cast


Sujet :

JSF Java

  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 19
    Par défaut Problème de Cast
    Bonjour a tous;

    j'ai un problème de Cast: le problème est aussi simple mais Java me lance une exception un peu bizarre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.lang.ClassCastException: org.hibernate.impl.QueryImpl cannot be cast to com.fst.projet.model.Abonnement
    	at com.fst.projet.service.AbonnementServiceImp.findByAbonne(AbonnementServiceImp.java:33)
    voila l'implémentation de l'interface:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    @Service(value="abonService")
    @Transactional
    public class AbonnementServiceImp implements AbonnementService {
     
    	@Autowired
    	private SessionFactory sessionFactory;
     
    	@SuppressWarnings("unchecked")
    	@Override
    	public List<Abonnement> consltAbonnement() {
    		return	sessionFactory.getCurrentSession().createQuery("from Abonnement").list();	
    	}
     
    	public void enregistrer (Abonnement a)
    	{
    	sessionFactory.getCurrentSession().saveOrUpdate(a);	
    	}
     
    	public  Abonnement findByAbonne(int id){
     
    		Abonnement A;
    return A =  (Abonnement) sessionFactory.getCurrentSession().createQuery("select x from Abonnement x where x.idAbonne='" + id + "'");
     
    	}
     
     
    }
    l'implémentation du test:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	@Test
    	public void testFindByAbonne() {
    	int id=1;
    	Abonnement ab=abonService.findByAbonne(id);
    	assertNotNull(ab);	
    	assertEquals(1,ab.getIdAbonnement());
    	System.out.print(ab.getIdAbonnement());
    	}
    }
    merci a tous

  2. #2
    Membre émérite Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Par défaut
    createQuery ne renvoie pas les résultats directement, il te faut y accéder ensuite.
    puisque tu cherches via l'id, createQuery().uniqueResult() devrait aller.

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 19
    Par défaut
    ca marche trés bien merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CASTS]problème de cast de Time
    Par DeVoN dans le forum Langage
    Réponses: 7
    Dernier message: 22/02/2006, 17h24
  2. [JDBC Driver][JSTL] Problème de cast de données
    Par GyLes dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 27/09/2005, 10h00
  3. problème de cast!
    Par LaseLiep dans le forum Langage
    Réponses: 3
    Dernier message: 03/06/2005, 09h30
  4. Problème de cast/serialization/externalization ?
    Par Linlin dans le forum CORBA
    Réponses: 1
    Dernier message: 06/12/2004, 16h46
  5. [C#] Problème de casting de @IDENTITY
    Par bilb0t dans le forum Accès aux données
    Réponses: 7
    Dernier message: 03/09/2004, 09h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo