Bonjour à tou(te)s,
J'ai un projet utilisant NH3.0. Je teste le mapping avec un projet de test Nunit qui me crée la base de test à chaque fois et donc les tables définies dans les fichiers de mapping hbm.xml
Il se trouve que j'ai un message d'erreur :
Mes tables basiques (sans clé étrangère) sont correctement créées mais les tables avec clé étrangere ont un champ id qui est ajouté en plus à la fin de la table...alors qu'il est inutile...Test 'FirstSolution.Tests.ReferenceRepository_Fixture.Can_add_new_ref' failed: NHibernate.HibernateException : Can't create table 'spring.#sql-d08_8a' (errno: 150)
----> MySql.Data.MySqlClient.MySqlException : Can't create table 'spring.#sql-d08_8a' (errno: 150)
Voici par exemple un mapping qui à la création me rajoute un champ id non voulu dans la table
Quelqu'un aurait un avis, une piste ?
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
28
29
30
31
32
33
34 <?xml version="1.0" encoding="utf-8"?> <hibernate-mapping assembly="FirstSolution" namespace="FirstSolution.Domain" xmlns="urn:nhibernate-mapping-2.2"> <class name="stations_sta" table="stations_sta" lazy="true" > <id name="STA_ID"> <column name="STA_ID" sql-type="int(11)" not-null="true" /> <generator class="identity" /> </id> <property name="STA_NAME"> <column name="STA_NAME" sql-type="varchar(45)" not-null="true" /> </property> <many-to-one insert="false" update="false" lazy="false" name="STA_FAC"> <column name="STA_FAC" sql-type="int(11)" not-null="true" /> </many-to-one> <!-- <property name="STA_FAC"> <column name="STA_FAC" sql-type="int(11)" not-null="true" /> </property> --> <bag name="fb_serials_srls" inverse="true" cascade="none"> <key column="" /> <one-to-many class="fb_serials_srl" /> </bag> <bag name="l_station_addresses_numalloc_sans" inverse="true" cascade="none"> <key column="" /> <one-to-many class="l_station_addresses_numalloc_san" /> </bag> <bag name="l_station_serials_numalloc_ssns" inverse="true" cascade="none"> <key column="" /> <one-to-many class="l_station_serials_numalloc_ssn" /> </bag> </class> </hibernate-mapping>
Merci d'avance.
MAJ - Pb résolu - il fallait remplir la balise Key column pour éviter qu'il crée un champ supplémentaire
Partager