Bonjour, je suis débutant, et je souhaiterai savoir s'il y a un moyen de sauter le contrôle de nullité d'une clée étrangère.
<many-to-one name="categorie" class="Categorie">
<column name="CD_ALE" length="3" not-null="true" />
<column name="CD_CAT" length="3" />
</many-to-one>
Celà permettrai de faire un insert sans renseigner CD_CAT. N'ayant pas de catégorie avec un CD_CAT null, j'obtiendrai sinon cette erreur:
org.hibernate.PropertyValueException: not-null property references a null or transient value: essai.dao.Categorie
org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:265)
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:167)
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:114)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:524)
org.hibernate.impl.SessionImpl.save(SessionImpl.java:514)
org.hibernate.impl.SessionImpl.save(SessionImpl.java:510)
Si j'ajoute insert="false" update="false", j'obtiens une:
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
Merci pour toute aide