METTRE EN RELATION SPRING.NET ET NHIBERNATE

malik0011 Messages postés 2 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 10 septembre 2008 - 8 sept. 2008 à 17:15
grabatad Messages postés 16 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 2 mai 2012 - 2 mai 2012 à 09:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47823-mettre-en-relation-spring-net-et-nhibernate

grabatad Messages postés 16 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 2 mai 2012
2 mai 2012 à 09:56
Bonjour @marik7335,
Moi, mon probleme est l'installation du framework Spring.NET dans mon environnement Visual Studio Express.
Malgré la doc je n'arrive pas a' le faire.
Egalement l'installation de Nhibernate.
J'espere pourvoir trouver solution ici
Merci
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
13 mai 2011 à 18:11
Bonjour,
Normalement, cela devrait fonctionner. Essayez juste avec ceci : " <entry key="hbm2ddl.auto" value="create" /> " et dites-moi si cela fonctionne.
Bie cordialement.
taxna Messages postés 1 Date d'inscription vendredi 13 mai 2011 Statut Membre Dernière intervention 13 mai 2011
13 mai 2011 à 17:14
salut, j'ai une question à te poser, est ce que tu arrives à créer les tables automatiquement? car en essayant j'y arrive pas.j'ai ajouté <entry key="hibernate.hbm2ddl.auto" value="create" /> dans dao.xml dans hibernateProperties en vain alors que c'est censé créer les tables mappées.

je te serais reconnaissant de me répondre et d'apporter une solution.

merci
manita75 Messages postés 3 Date d'inscription mercredi 23 juillet 2008 Statut Membre Dernière intervention 7 octobre 2010
7 oct. 2010 à 15:19
bonjour,
je veux savoir comment on peut gérér la session NHibernate lors de chargement lazy (LazyInitializationException).
est-ce que Spring.NET fait l'affaire? si oui comment? vue que j'utilise( Nhibernate spring.NET et WCF)
merci d'avance
leila070 Messages postés 11 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 1 juillet 2010
26 mai 2010 à 01:16
Bonsoir,

j'ai des images stockées dans une base de données sous format image,je les récupére par code C# en asp.Net en affectant la valeur de l'image dans un type byte[] mais je bloque apres parck je sais po comment je peux l'afficher
Si quelqu'un a une idée j'attend vos réponses
merci bcp
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
18 mai 2010 à 00:15
Bonjour Leila,

Effectivement, il y a 94 messages qui s'affichent à cause que App.config ne trouve pas des éléments correspondants à des fichiers XSD (schémas XML).
C'est normal, ce sont des sections déclarées. Ces dernières ne sont contenues dans aucun fichier XSD.
Rien de bien dangereux pour le fonctionnement de l'application.

Bien cordialement.
leila070 Messages postés 11 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 1 juillet 2010
17 mai 2010 à 14:00
Bonjour,

j'ai mis le contenu de App.config dans Web.config ms il m'affiche des 94 messages pas d'erreur de genre :
Impossible de trouver des informations de schéma pour l'attribut 'Spring'
je sais pas d'ou il vient

aidez moi svp
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
17 mai 2010 à 13:52
Bonjour,

Il ne suffit pas simplement de mettre le contenu de App.config dans le Web.config.
En plus du contenu de App.config, il faut rajouter quelques trucs. Notamment pour que cela fonctionne avec une application web.

L'exemple fourni avec Spring.Net illustre bien cela (cf. le site de Spring.Net).
En effet, il y a un Web.config avec tout ce qu'il faut.

Bien cordialement.
leila070 Messages postés 11 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 1 juillet 2010
17 mai 2010 à 10:52
Bonjour,

je veux transformer l'application en application Web, le contenu du fichier App.config je vais le mettre ou exactement??
il y a un fichier web.config qui se crée automatiquement en choisissant application Web
est ce que faut mettre le contenu du App.config dans Web.config?

répondez moi s'il vous plait

merci bcp
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
17 mai 2010 à 00:32
Mise à jour effectuée.
Utilisation des version suivantes :
Spring.Net 1.3 et NHibernate 2.1.2.

N'oubliez pas de configurer la section databaseSettings du fichier App.config ainsi que les fichiers hbm.xml.

Bien cordialement.

Marik.
leila070 Messages postés 11 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 1 juillet 2010
15 mai 2010 à 11:52
Bonjour ,
merci pour votre aide,j'ai résolu le problème en créant la base de données sur sql server 2005 au lieu de postgres et ça marche maintenant :)

merci bcp
leila070 Messages postés 11 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 1 juillet 2010
13 mai 2010 à 13:38
Bonjour,

merci pour votre réponse
j'ai déja fait tout ce que vous avez citer et ça n'a pas marché
j'attend votre source aprés mise àa jour car je suis sur que c'est un problème de version, j'espere qu'elle vous prendra pas bcp de temps

merci bcp
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
11 mai 2010 à 23:32
Bonjour,

je suis en train de mettre à jour la source pour Sping.Net 1.3 et HNibernate 2.1.2.
Je pense que d'ici deux jours j'aurais terminé.

Sinon, pour éxcuter l'application, veuillez faire procéder comme suit :
1) Si vous utilisez une autre base de données comme PostgreSQL
vous devez modifiez le fichier Dao.xml comme suit :

Remplacez d'abord ceci :

<!-- Database and NHibernate Configuration -->
<db:provider id="DbProvider"
provider="MySql"
connectionString="Server=${db.datasource};Database=${db.database};User ID=${db.user};Password=${db.password}"/>

par :
<!-- Database and NHibernate Configuration -->
<db:provider id="DbProvider"
provider="Npgsql"
connectionString="Server=${db.datasource};Database=${db.database};User ID=${db.user};Password=${db.password}"/>

Enfin, remplacez ceci :
<entry key="hibernate.dialect"
value="NHibernate.Dialect.MySQLDialect"/>

<entry key="hibernate.connection.driver_class"
value="NHibernate.Driver.MySqlDataDriver"/>

par :
<entry key="hibernate.dialect"
value="NHibernate.Dialect.PostgreSQLDialect"/>

<entry key="hibernate.connection.driver_class"
value="NHibernate.Driver.NpgsqlDriver"/>

Pour d'autres bases de données, veuillez consulter la documentation.

2) N'oubliez pas de référencer l'assembly de votre provider de base de données.
Par exemple, pour PostgreSQL, référencez l'assembly Npgsql.dll à votre projet.

3) Créez la base de données 'suppliers' puis adpatez et exécutez le script dans votre nouvelle base de données.

L'application devrait fonctionner. Sauf si problème de version.

Bien cordialement.
leila070 Messages postés 11 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 1 juillet 2010
10 mai 2010 à 10:45
Bonjour,

s'il vous plait veuillez m'aider pour régler ce probleme,pour plus d'infos j'ai juste télécharger le zip et l'executer, je sais pas à quoi sert de télécharger spring et Nhibernate, je les ai déja télécharger mais je les utilise pas !!!

veuillez m'expliquer les étapes pour réussir l'execution de cette application

merci bcp
leila070 Messages postés 11 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 1 juillet 2010
8 mai 2010 à 19:34
Bonjour Maxime,

merci pour ta réponse, moi j'utilise postgres au lieu de Mysql aussi j'utilise Nhibernate 2.1.2 et Spring 1.3 donc c'est pas du tout les mêmes versions que toi

je crois que je dois télécharger les dll pour ces versions mais j'arrive pas a les trouver

merci
leila070 Messages postés 11 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 1 juillet 2010
8 mai 2010 à 16:01
Bonjour Maxime,

merci pour ta réponse, moi j'utilise postgres au lieu de Mysql aussi j'utilise Nhibernate 2.1.2 et Spring 1.3 donc c'est pas du tout les mêmes versions que toi

je crois que je dois télécharger les dll pour ces versions mais j'arrive pas a les trouver

merci
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
8 mai 2010 à 12:04
Bonjour Leila,

J'ai testé avec une version récente de MySql et j'obtiens le même message d'erreur que toi.
J'ai donc installé un connecteur .Net plus récent à cette adresse : http://www.mysql.fr/downloads/connector/net/.
Cela remarche parfaitement.

Le problème vient donc de la version de Mysql que j'ai utilisée à l'époque.

N'oublies pas, quand tu références Mysql.Data, de mettre la propriété Copie Locale à True.

Bien cordialement.

Maxime LEONARD.
leila070 Messages postés 11 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 1 juillet 2010
7 mai 2010 à 12:39
Bonjour Marik,

merci de m'avoir répondre, j'ai enlevé la référence Spring.Data.NHibernate.dll mais il m'affiche toujours la même erreur, ils ont dit que c'est un problème de version des références, je sais pas quelles versions me faut

merci
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
6 mai 2010 à 23:52
Bonjour Leila,

Je viens de me rendre compte que j'ai fourni deux versions de Spring.Data.NHibernate.
Tu dois utiliser Spring.Data.NHibernate12.dll et pas Spring.Data.NHibernate.dll.

Enlève simplement la référence Spring.Data.NHibernate.dll de ton projet.

Dis-moi si cela fonctionne.

Bien cordialement.

Marik.
leila070 Messages postés 11 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 1 juillet 2010
6 mai 2010 à 11:42
j'ai le meme message que "aitelhaj" il m'affiche la meme erreur
Error creating context 'spring.root': Failed instantiating type [Spring.Context.Support.XmlApplicationContext].

il a dit que le probleme vient des versions des dll,je peux savoir quelles version t'as utilisé?
merci
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
31 janv. 2009 à 15:32
Je pense que tu peux le faire à ce niveau là :
<databaseSettings>

</databaseSettings>

Il te faudrait rajouter à databaseSettings, db.provider, db.dialect et db.driver

Il te suffit simplement de changer les valeurs pour changer de source de données. En tout cas, c’est la seule solution que je vois.

Ensuite, tu peux faire remplacer les valeurs mises en « dur » par les valeurs du databaseSettings ;

<db:provider id="DbProvider"
provider="${db.provider}"
connectionString="Server=${db.datasource};Database=${db.database};User ID=${db.user};Password=${db.password}"/>

<dictionary>

<entry key="hibernate.connection.provider"
value="NHibernate.Connection.DriverConnectionProvider"/>

<entry key="hibernate.dialect"
value="${db.dialect}"/>

<entry key="hibernate.connection.driver_class"
value="${db.driver}"/>

</dictionary>

Il faut voir si cela fonctionne. J’ai pas eu le temps de tester.

Cordialement.

Marik.
aitelhaj Messages postés 2 Date d'inscription samedi 3 juillet 2004 Statut Membre Dernière intervention 23 janvier 2009
23 janv. 2009 à 18:46
Merci,
je viens de régler le problème c’était au niveau des versions des dll.
Par contre je veux rendre paramétrable l’accès à la base de données pour que l’application supporte plusieurs type de base de données à la fois (sqlserver, MySQL, oracle etc.…).
Merci d’avance.
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
21 janv. 2009 à 16:55
Désolé de n'avoir pas pu te répondre plus tôt.
J'ai besoins de connaître plus d'éléments pour pouvoir répondre à ton problème.

1) Si tu utilises MySql, j'aurais besoin de savoir si tu as implémenter la même base de données que moi ou la tienne.
Si c'est la tienne, vérifies bien tes fichiers de mapping et ta chaîne de connexion :
<databaseSettings>




</databaseSettings>

2) si vraiment cela te pose problème, tu peux poster tes fichiers de mapping et ton fichier dao.xml et on pourra voir ensemble ce qui causer l'erreur.

Cordialement.

Marik7335.
aitelhaj Messages postés 2 Date d'inscription samedi 3 juillet 2004 Statut Membre Dernière intervention 23 janvier 2009
14 janv. 2009 à 11:26
je rencontre le même problème avec la base mySql,j'ai toujours le message suivant:
Error creating context 'spring.root': Failed instantiating type [Spring.Context.Support.XmlApplicationContext].
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
12 oct. 2008 à 11:47
Le soucis, c'est que j'utilise Spring pour simplifier la couche DAO. Utiliser le programmation pour créer une configuration est possible, mais l'intérêt de Spring n'y est plus.

Si tu veux seulement faire du NHibernate sans passer par Spring, il y a une autre source qui traite de ce sujet et qui est très bien faite.

Si tu veux utiliser Sql Server, utilise la doc de Spring.NET pour connaître l'assembly à utiliser.

Cordialement.
cakrem Messages postés 8 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 2 juin 2010
11 oct. 2008 à 23:34
je te remercie pour ta réponse, mais je vois que le problème se trouve a ce niveau:

<!-- These properties are referenced in Dao.xml -->
<databaseSettings>




</databaseSettings>

je connais pas trop MySQL mais comeme je vien de l'installé sur mon poste,
ece possible de remplacer le fichier de configuration dans le code bihand

Configuration cfg = new Configuration();
cfg.Properties.Add("hibernate.Connection.Provider", "NHibernate.Connection.DriverConnectionProvider");
cfg.Properties.Add("hibernate.connection.driver_class", "NHibernate.Driver.SqlClientDriver");
cfg.Properties.Add("hibernate.dialect", "NHibernate.Dialect.MsSql2005Dialect");
cfg.Properties.Add("hibernate.connection.connection_string", @"Data Source=.\SQLEXPRESS;Initial Catalog=suppliers; Integrated Security=True;");
cfg.AddFile("Dao.hbm.xml");

tu vois bien que j'ai développer la base avec SQLServer 2005

Cordialement
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
11 oct. 2008 à 13:36
ça y est, je sais d'où ça vient. lol. C'est ce que je pensais. T'as pas bien référencé tes fichiers de Mapping.
Regarde bien ton fichier Doa.xml et surtout les lignes suivantes :

<list>
<value>../../Mapping/Supplier.hbm.xml</value>
<value>../../Mapping/Product.hbm.xml</value>
<value>../../Mapping/Category.hbm.xml</value>
</list>

Effectivement, j'ai adapté mon application à mon contexte d'utilisation, il faut que tu fasses la même chose de ton côté, sinon ça marche pas.

Regarde l'erreur que j'obtiens si j'enlève les ../../ des balises value:

L'exception System.Configuration.ConfigurationErrorsException n'a pas été gérée
Message="Error creating context 'spring.root': Failed instantiating type [Spring.Context.Support.XmlApplicationContext]."
Source="System.Configuration"
BareMessage="Error creating context 'spring.root': Failed instantiating type [Spring.Context.Support.XmlApplicationContext]."

ça à l'air de ressembler à ton problème.

En espérant que ça puisse t'aider.

Cordialement.
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
11 oct. 2008 à 13:25
Salut,

Je viens de tester mon application, je n'ai pas eu ce problème.

Dans quel environnement tu travailles( XP, Vista ), tu exécutes l'application à partir de quel IDE, est-que ton fichier app.config ainsi que tes fichiers de mapping sont bien placés ?

En général quand tu obtiens cette erreur c'est que le ctx.GetObject n'a pas fonctionné. Je vais essayer de reproduire cette erreur pour savoir d'où peut venir ton problème d'exécution.

Cordialement.
cakrem Messages postés 8 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 2 juin 2010
11 oct. 2008 à 04:52
salut,
j'aimerai bien savoir pourquoi il m'affiche ce message d'erreur a chaque fois que je lance l'application :

Error creating context 'spring.root': Failed instantiating type [Spring.Context.Support.XmlApplicationContext].

Merci d'avance.
marik7335 Messages postés 115 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 11 mai 2009
9 sept. 2008 à 00:46
Salut à toi,

Les seuls docs que je connaissent sur Eclipse RCP sont en anglais, désolé. Il est assez difficile de trouver des trucs en français qui soient suffisants.

Voici quand même une doc assez complète (en anglais) :
http://www.eclipse.org/articles/Article-RCP-1/tutorial1.html

C'est tout ce que je connais. Sinon renseigne toi sur le forum Javafr.
malik0011 Messages postés 2 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 10 septembre 2008
8 sept. 2008 à 17:15
bonjour, je suis nouvaux avec l'environnement Eclipse RCP, donc je cherche de bon documentation en français. Merci
Rejoignez-nous