Je demande à hibernate de me valoriser les champs date de création et date de modification d'une grappe d'objets lors des insert et des updates.
Mes soucis sont les suivants :
Lorsque je positione l'attribut generated="insert" hibernate valorise bien les colonnes correspondantes en base mais uniquement sur l'objet parent de la grappe d'objets et lorsque je le positonne l'attribut generated="always" hibernate ne valorise jamais les colonnes concernées et ne lève pas d'exception.
Voila mon fichier de mapping pour l'objet parent:
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 <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="Commande" table="COMMANDE" lazy="false"> <id name="idPersistent" type="integer" unsaved-value="0"> <column name="ID_COMMANDE" precision="8" scale="0" /> <generator class="sequence"> <param name="sequence">seq_pro_commande</param> </generator> </id> <version name="version" column="NUM_VERSION" type="long" /> <property name="dateCreation" type="timestamp" generated="insert"> <column name="DATE_CREATION" /> </property> <property name="dateModification" type="timestamp" generated="always"> <column name="DATE_MODIFICATION" /> </property><set name="lignesDeCommande" inverse="true" cascade="all"> <key column="ID_COMMANDE" /> <one-to-many class="LigneDeCommande" /> </set> </class> </hibernate-mapping>
Voila mon fichier de mapping pour les objets enfants:
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 <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="LigneDeCommande" table="LIGNE_DE_COMMANDE" lazy="false"> <id name="idPersistent" type="integer" unsaved-value="0"> <column name="ID_LIGNE_COMMANDE" precision="8" scale="0"/> <generator class="sequence"> <param name="sequence">seq_pro_lignedecommande</param> </generator> </id> <version name="version" column="NUM_VERSION" type="long" /> <property name="dateCreation" type="timestamp" generated="insert"> <column name="DATE_CREATION" /> </property> <property name="dateModification" type="timestamp" generated="always"> <column name="DATE_MODIFICATION" /> </property> <many-to-one name="commande" class="Commande" column="ID_COMMANDE" not-null="true" /> </class> </hibernate-mapping>
Partager