Bonjour, j'utilise Hibernate 3 et je cherche à rajouter à mes bases SQL des contraintes multi-colonnes. Le problème c'est que je n'arrive pas à le faire... Je pensais utiliser l'attribut "check" de l'élément "class" pour rajouter une contrainte mais apparemment cet attribut ne fait que rajouter une contrainte de vérification au moment de l'utilisation du schéma par Hibernate. Je ne sais pas comment faire pour avoir une contrainte multi-colonnes, peut être en utilisant l'élément "properties" mais il semblerait que son utilisation soit déconseillée (cf. doc re référence Hibernate)...
Donc je ne sais pas trop, voilà le type de contrainte que je veux ajouter à ma table (dans l'élément "check" de l'élément "class"):
Code:
<class name="Personne" table="Personne" check="((nom IS NOT NULL) AND (prenom IS NOT NULL) AND (numsiret IS NULL)) OR (numsiret IS NOT NULL)">
<!-- Attributs de l'entite metier -->
<!-- Cle primaire de la table -->
<id name="id" type="java.lang.Long" column="id_personne">
<!-- Generateur natif de la base utilisee pour la cle primaire -->
<generator class="native"/>
</id>
<!-- Autres attributs specifiques a l'entite concernee -->
<property name="nomPers" type="java.lang.String" column="nom" not-null="false" length="50"/>
<property name="prenomPers" type="java.lang.String" column="prenom" not-null="true" length="50"/>
<property name="adrPers" type="java.lang.String" column="adresse" not-null="true" length="200"/>
<property name="codePostalPers" type="java.lang.String" column="codepostal" not-null="true" length="20"/>
<property name="villePers" type="java.lang.String" column="ville" not-null="true" length="50"/>
<property name="naisPers" type="date" column="datenaiss" not-null="true"/>
<property name="siretPers" type="java.lang.String" column="numsiret" not-null="false" length="14"/>
</class>
Merci d'avance pour votre aide...
Hibernate version:3
Mapping documents:
Code between sessionFactory.openSession() and session.close():
Full stack trace of any exception that occurs:
Name and version of the database you are using:MySQL 5