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 :

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)
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...

Voici par exemple un mapping qui à la création me rajoute un champ id non voulu dans la table

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>
Quelqu'un aurait un avis, une piste ?
Merci d'avance.

MAJ - Pb résolu - il fallait remplir la balise Key column pour éviter qu'il crée un champ supplémentaire