propriete générée par hibernate
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:
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:
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> |