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

Hibernate Java Discussion :

problème de conception


Sujet :

Hibernate Java

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Points : 71
    Points
    71
    Par défaut problème de conception
    bonjour à tous,

    Voilà, je tombe sur un casse tête (du moins pour moi) avec la conception de mon application... Je ne suis peut etre pas dans le bon forum pour demander de l'aide...

    les données de mon application se trouve en db, j'y accède via Hibernate (d'ou le choix du forum..), les données en db sont cryptées par soucis de confidentialité. Il faut donc que lorsque, j'utilise les données dans les couches Bizz(optionel), ou GUI(exigé), elles soient décryptées.

    Donc lorsque je cherche les données en db dans les POJO, celles-ci sont cryptées, et donc je me demande à quel moment je les décryptes? devrais-je créer un autre objet ressemblant au POJO contenant les données décrypté? ou bien je crée les methodes qui me font accèder aux infos décrypté dans les POJO?

    Je me demande ca, car la ce que j'ai essayé de faire, c'est un objet qui hérite du POJO et qui lui ressemble, avec des getter et setter, mais dans les données qui y transite sont décryptée...
    Le problème avec cela, c'est que cela provoque des classCastException...

    par exemple
    POJO p = new ObjetHerité => classCastException
    ObjetHérité o = new POJO => classCastException
    POJO p = o => OK mais hibernate ne le reconnait pas comme POJO mais comme ObjetHérité et donc renvoie une erreur...

    Alors voilà, je me demande vraiment comment faire ca...
    La je suis dans l'idée d'utilisé le POJO partout dans toutes les couches, et de les décryptés au dernier moment c à d. à l'affichages.

    Si quelqu'un a une meilleur solution, je suis preneur

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Points : 71
    Points
    71
    Par défaut
    bon après avoir lu le topic de buchir
    je me suis rapellé qu'on utilise des DTO comme objet qui passe entre les couches.

    bref après avoir réfléchis, j'aurais mon architecture qui se trouve comme ceci
    GUI <-ObjetBiz->BIZZLayer<POJO>DAO

    maintenant je tombe sur une autre tuile, comment convertir mon POJO en objetBizz?
    c'est tout simple lorsqu'il s'agit d'une string qu'on converti en string, mais quand il s'agit d'une liste d'un type d'objet qu'on doit convertir dans une autre liste d'objet?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2007
    Messages : 71
    Points : 62
    Points
    62
    Par défaut
    J'ai un peu le même problème dans mon projet actuel qui touche des WebServices. Les paramètres des fonctions de ces WebServices sont de types différents (bien que relativement similaires dans leur structure) aux classes de la couche entités (les POJOs) mappés par Hibernate.

    Nous avons pris l'option de passer par des fonctions de conversion que nous appelons dans le code au moment de transférer les objets d'une couche vers une autre. Typiquement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    package tools;
     
    public class Conversion {
       public static Client convertFromTClientToClient(TClient objAConvertir);
    }
    Peut-être qu'il y a un moyen de faire appel automatiquement à ces fonctions (Spring ?) sans passer par le code, mais là je ne sais pas...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    Par défaut
    Bonjour,
    A mon avis, la solution la plus simple au problème de cryptage/décryptage serait d'ajouter dans tes POJOs des méthodes implémentant les algorithmes de cryptage/décryptage et permettant de renvoyer/affecter les champs cryptés...
    Une solution plus élégante serait d'utiliser le concept d'Interceptor de Hibernate, ce qui permettrait de modifier les champs d'un objet lors du chargement ou de l'update d'un objet. L'interceptor implémenterait donc le cryptage/décryptage et rendrait cette fonctionnalité complètement transversale aux fonctionnalités métier.
    Pour plus d'informations sur les Intercepteurs avec Hibernate :
    http://www.hibernate.org/hib_docs/v3...ml/events.html
    http://hibernate.javabeat.net/articl...-introduction/
    Concernant ton dernier problème sur la conversion POJO/DTO, je te conseille de l'ignorer simplement, utilise directement tes beans renvoyer par Hibernate dans la couche présentation.
    Voilà, j'espère que ça puisse t'aider.

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Points : 71
    Points
    71
    Par défaut
    Merci pour le coup de pouce !

    Là, je me suis pas trop cassé la tête, je fais la conversion dans les POJOs. Peut-être plus tard je regarderai pour l'interceptor !

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

Discussions similaires

  1. Méthode Finalize et problème de conception
    Par phryos dans le forum Langage
    Réponses: 4
    Dernier message: 19/04/2006, 11h04
  2. [VB6][UserControl et OCX]Problème de conception
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 19/01/2006, 22h37
  3. Petit problème de conception sur access
    Par coooookinette dans le forum Modélisation
    Réponses: 3
    Dernier message: 18/12/2005, 18h24
  4. Gestion des départements problème de conception
    Par snoopy69 dans le forum Modélisation
    Réponses: 7
    Dernier message: 11/10/2005, 13h08
  5. Problème de conceptions de tables
    Par dtavan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/05/2004, 23h13

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