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 :

Datasource dynamique en fonction d'une variable session


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut Datasource dynamique en fonction d'une variable session
    Salut à tous,

    J'aimerais dans mon appli pouvoir dynamiquement en fonction du login de l'utilisateur modifier le datasource du fichier hibernate.cfg.xml

    J'ai une variable de session que je récupère quand l'utilisateur se logue :
    #{sessionScope.utilisateur.datasource}

    j'aimerais donc remplacer le XXX de la ligne :
    <property name="connection.datasource">java:comp/env/XXX</property>
    par cette variable.


    hibernate.cfg.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
    		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
             <property name="connection.datasource">java:comp/env/XXX</property>
    		<property name="show_sql">true</property>
     
        </session-factory>
    </hibernate-configuration>

    EDIT :

    J'ai essayé avec cette méthode pour réécrire la config de hibernate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Configuration configuration = new Configuration()
    .setProperty("hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect")
    .setProperty("hibernate.connection.driver_class", "org.postgresql.Driver")
    .setProperty("connection.datasource", "java:comp/env/"+"XXX")
    .setProperty("show_sql", "true")
     
     
    SessionFactory factory = configuration.buildSessionFactory()
    Mais j'ai cette erreur :

    Cependant j'ai toujours cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Caused by: java.lang.UnsupportedOperationException: The user must supply a JDBC connection
       at org.hibernate.connection.UserSuppliedConnectionProvider.getConnection(UserSuppliedConnectionProvider.java:30)
    Normalement je n'ai pas besoin de reseigner de connection JDBC si le datasource est renseigner, il doit aller chercher les infos dans le context.xml contenant les datasources

    Quelqu'un aurait une idée ?


    Par avance merci !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Bon finalement j'ai trouvé :

    configuration.setProperty("hibernate.connection.datasource", "xxxx");

    dans le hibernatesessionfactory

  3. #3
    Membre régulier
    Profil pro
    Sr. Software Engineer
    Inscrit en
    Août 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Software Engineer

    Informations forums :
    Inscription : Août 2007
    Messages : 169
    Points : 118
    Points
    118
    Par défaut
    Une approche similaire se trouve ici

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

Discussions similaires

  1. [PHP 5.3] fonction captcha et url dans une variable session
    Par Echap dans le forum Langage
    Réponses: 0
    Dernier message: 05/10/2012, 14h37
  2. VBS appel dynamique d'une fonction via une variable ?
    Par Wannapy dans le forum VBScript
    Réponses: 2
    Dernier message: 07/01/2010, 18h01
  3. supprimer lignes d'une variable session tableau sauf 1
    Par epeichette dans le forum Langage
    Réponses: 1
    Dernier message: 30/03/2006, 17h41
  4. [VB6] Image en fonction d'une variable?
    Par TomIG dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 25/03/2006, 01h22
  5. Réponses: 10
    Dernier message: 25/11/2005, 17h12

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