Bonjour
je réalise une application en utilisant struts 1.2.9, et hibernate 3, le problème est le suivant.
- je lance une recherche en base de données
- j'ai un tableau avec mes résultats
- je clique sur un des résultats pour le visualiser en détail, tout s'affiche correctement
- je clique sur le bouton modifier, j'apporte des modifications et je valide.
- en BDD les changements sont effectués.
- je relance une nouvelle recherche, et je visualise l'enregistrement que je viens de modifier.
- ma table en BDD est la suivante Incidents(id, title, description, date, description, solution, #typeId, #levelId, #stateId), avec typeId, levelId, stateId, proviennent d'autres tables.
- quand je souhaite visualiser l'incident que je viens de modifier, je peux bien voir les attributs (id, title, description, date, description, solution) avec les nouvelles valeurs. Par contre il n'y a aucune valeur dans les attributs qui proviennent des autres tables (#typeId, #levelId, #stateId).
la meme chose se produit aussi quand je crée un nouvel enregistrement et que je veux le visualiser par la suite.
je vous donne mes fichiers HBM:
**** Incidents.hbm.xml
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="com.XXX.mapping">
<class
name="Incidents"
table="Incidents"
>
<meta attribute="sync-DAO">false</meta>
<id
name="Id"
type="integer"
column="incident_id"
>
<generator class="increment"/>
</id>
<!-- foreign key : IncidentType -->
<many-to-one
name="IncidentTypeId"
class="IncidentsType"
column="incident_type_id"
/>
<!-- foreign key from User : assigned User -->
<many-to-one
name="AssignedUser"
class="User"
column="assigned_user"
/>
<!-- foreign key from User : creater User -->
<many-to-one
name="CreaterUser"
class="User"
column="creater_user"
/>
<property
name="Title"
column="title"
type="string"
not-null="true"
length="45"
/>
<!-- foreign key from IncidentLevel -->
<many-to-one
name="IncidentLevelId"
class="IncidentLevel"
column="incident_level_id"
/>
<property
name="StartDate"
column="start_date"
type="date"
not-null="true"
length="10"
/>
<property
name="EndDate"
column="end_date"
type="date"
not-null="false"
length="10"
/>
<!-- foreign key from IncidentState -->
<many-to-one
name="IncidentStateId"
column="incident_state_id"
class="IncidentState"
/>
<property
name="Description"
column="description"
type="string"
not-null="true"
/>
<property
name="Solution"
column="solution"
type="string"
not-null="false"
/>
</class>
</hibernate-mapping>
**** IncidentLevel.hbm.xml
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="com.XXX.mapping">
<class
name="IncidentLevel"
table="Incident_Level"
batch-size="50"
lazy="false"
>
<meta attribute="sync-DAO">false</meta>
<id
name="Id"
type="integer"
column="incident_level_id"
>
<generator class="increment"/>
</id>
<property
name="IncidentLevelTitle"
column="incident_level_title"
type="string"
not-null="true"
length="20"
/>
</class>
</hibernate-mapping>
*** IncidentState.hbm.xml
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="com.XXX.mapping">
<class
name="IncidentState"
table="Incident_State"
batch-size="50"
lazy="false"
>
<meta attribute="sync-DAO">false</meta>
<id
name="Id"
type="integer"
column="incident_state_id"
>
<generator class="increment"/>
</id>
<property
name="IncidentStateTitle"
column="Incident_state_title"
type="string"
not-null="true"
length="20"
/>
</class>
</hibernate-mapping>
*** IncidentType.hbm.xml
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="com.XXX.mapping">
<class
name="IncidentsType"
table="Incidents_Type"
batch-size="50"
lazy="false"
>
<meta attribute="sync-DAO">false</meta>
<id
name="Id"
type="integer"
column="incident_type_id"
>
<generator class="increment"/>
</id>
<property
name="Label"
column="label"
type="string"
not-null="true"
length="45"
/>
</class>
</hibernate-mapping>
Merci