Problem mit Datenbank-Schema und FSI
Author: MarcusDau
Publication Date: 1/17/2011 8:16
Hallo Community!
Ich hätte da gerne mal ein Problem. Folgende Situation: Ich habe ein Datenbank-Schema und darin diverse Tabellen.
Eine Tabelle ist z.B. "Stellenangebot", hier das XML-Schema dazu:
<xs:complexType dbName="stellenangebot" name="Stellenangebot">
<xs:sequence>
<xs:element dbName="arbeitszeit" javaType="java.lang.String" length="20" name="arbeitszeit" nullable="1" type="xs:string"/>
<xs:element dbName="aufgaben" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="aufgaben" nullable="1" type="xml"/>
<xs:element dbName="ausbildungsrahmen" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="ausbildungsrahmen" nullable="1" type="xml"/>
<xs:element dbName="berufschule" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="berufschule" nullable="1" type="xml"/>
<xs:element dbName="beschreibung" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="beschreibung" nullable="1" type="xml"/>
<xs:element dbName="changed_by" hidden="1" javaType="java.lang.Long" name="changed by" nullable="1" type="xs:long"/>
<xs:element dbName="eintrittstermin" javaType="java.util.Date" name="eintrittstermin" nullable="1" type="xs:date"/>
<xs:element dbName="erscheinungsdatum" javaType="java.util.Date" name="erscheinungsdatum" nullable="1" type="xs:date"/>
<xs:element dbName="fs_id" hidden="1" javaType="java.lang.Integer" name="fs_id" type="xs:integer"/>
<xs:element dbName="inhalt_ad" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="inhalt_ad" nullable="1" type="xml"/>
<xs:element dbName="inhalt_id" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="inhalt_id" nullable="1" type="xml"/>
<xs:element dbName="itzehoer" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="itzehoer" nullable="1" type="xml"/>
<xs:element dbName="jobtitel" javaType="java.lang.String" length="150" name="jobtitel" nullable="1" type="xs:string"/>
<xs:element dbName="kontaktformular_ref_id" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="kontaktformular_ref_id" nullable="1" type="xml"/>
<xs:element dbName="kurzbeschreibung" javaType="java.lang.String" length="200" name="kurzbeschreibung" nullable="1" type="xs:string"/>
<xs:element dbName="leistungen" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="leistungen" nullable="1" type="xml"/>
<xs:element dbName="ort" javaType="java.lang.String" length="150" name="ort" nullable="1" type="xs:string"/>
<xs:element dbName="profil" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="profil" nullable="1" type="xml"/>
<xs:element dbName="released_by" hidden="1" javaType="java.lang.Long" name="released by" nullable="1" type="xs:long"/>
<xs:element dbName="stelle" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="stelle" nullable="1" type="xml"/>
<xs:element dbName="voraussetzungen" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="voraussetzungen" nullable="1" type="xml"/>
<xs:element dbName="wf_col" hidden="1" javaType="java.awt.Color" name="wf col" nullable="1" type="xs:integer"/>
<xs:element dbName="wf_id" hidden="1" javaType="java.lang.Long" name="wf id" nullable="1" type="xs:long"/>
<xs:element dbName="wirbenoetigen" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="wirbenoetigen" nullable="1" type="xml"/>
<xs:element dbName="anst_fs_id" name="anst_fs_id" nullable="1" type="xs:integer" visible="0"/>
<xs:element dbName="ausb_fs_id" name="ausb_fs_id" nullable="1" type="xs:integer" visible="0"/>
<xs:element dbName="fs_release_to" name="fs_release_to" type="xs:long" visible="0"/>
<xs:element dbName="fs_valid_from" name="fs_valid_from" type="xs:long" visible="0"/>
<xs:element dbName="fs_valid_to" name="fs_valid_to" type="xs:long" visible="0"/>
<xs:element dbName="kont_fs_id" name="kont_fs_id" nullable="1" type="xs:integer" visible="0"/>
</xs:sequence>
</xs:complexType>
<xs:key dbName="pk_stellenangebot" name="pk_Stellenangebot">
<xs:selector xpath="Stellenangebot"/>
<xs:attribute xpath="fs_id"/>
<xs:attribute xpath="fs_release_to"/>
<xs:attribute xpath="fs_valid_from"/>
<xs:attribute xpath="fs_valid_to"/>
</xs:key>
Ich greife nun mit FSI auf diese Tabelle zu und lese anhand verschiedener Kriterien Daten aus. Das klappt auch problemlos und ist nicht das Problem.
Ich verarbeite die Daten weiter und möchte auf Fremdschlüssel-Tabellen zugreifen. Der Code-Ausschnitt dazu:
<c:forEach items="${stellenangebote}" var="stellenangebot" varStatus="anzahl">
<%
Entity job = (Entity)pageContext.findAttribute("stellenangebot");
Entity anstellungsverhaeltnis = (Entity) job.getValue("anstellungsverhaeltnis");
Entity ausbildungsregion = (Entity) job.getValue("ausbildungsregion");
Und hier taucht das Problem auf. Ich kann zwar auf das Anstellungsverhältnis zugreifen, aber nicht auf die Ausbildungsregion. Da bekomme ich immer null zurück, obwohl in der Datenquelle alles korrekt gefüllt und gespeichert wird.
Hier das XML-Schema "Anstellungsverhältnis":
<xs:complexType dbName="anstellungsverhaeltnis" name="Anstellungsverhaeltnis">
<xs:sequence>
<xs:element dbName="changed_by" hidden="1" javaType="java.lang.Long" name="changed by" nullable="1" type="xs:long"/>
<xs:element dbName="fs_id" hidden="1" javaType="java.lang.Integer" name="fs_id" type="xs:integer"/>
<xs:element dbName="kennzeichen" javaType="java.lang.String" length="64" name="kennzeichen" nullable="1" type="xs:string"/>
<xs:element dbName="name" javaType="java.lang.String" length="120" name="name" nullable="1" type="xs:string"/>
<xs:element dbName="released_by" hidden="1" javaType="java.lang.Long" name="released by" nullable="1" type="xs:long"/>
<xs:element dbName="wf_col" hidden="1" javaType="java.awt.Color" name="wf col" nullable="1" type="xs:integer"/>
<xs:element dbName="wf_id" hidden="1" javaType="java.lang.Long" name="wf id" nullable="1" type="xs:long"/>
<xs:element dbName="fs_release_to" name="fs_release_to" type="xs:long" visible="0"/>
<xs:element dbName="fs_valid_from" name="fs_valid_from" type="xs:long" visible="0"/>
<xs:element dbName="fs_valid_to" name="fs_valid_to" type="xs:long" visible="0"/>
</xs:sequence>
</xs:complexType>
<xs:key dbName="pk_anstellungsverhaeltnis" name="pk_Anstellungsverhaeltnis">
<xs:selector xpath="Anstellungsverhaeltnis"/>
<xs:attribute xpath="fs_id"/>
<xs:attribute xpath="fs_release_to"/>
<xs:attribute xpath="fs_valid_from"/>
<xs:attribute xpath="fs_valid_to"/>
</xs:key>
<xs:keyref dbName="fk_stellenangebot_anstellungsver" field="stellenangebotList" name="fk_Stellenangebot_Anstellungsverhaeltnis" refer="Anstellungsverhaeltnis" tfield="anstellungsverhaeltnis">
<xs:selector xpath="Stellenangebot"/>
<xs:attribute xpath="anst_fs_id"/>
</xs:keyref>
Und hier "Ausbildungsregion":
<xs:complexType dbName="ausbildungsregion" name="Ausbildungsregion">
<xs:sequence>
<xs:element dbName="abkuerzung" javaType="java.lang.String" length="2" name="abkuerzung" type="xs:string"/>
<xs:element dbName="beschreibung" javaType="java.lang.String" length="64" name="beschreibung" type="xs:string"/>
<xs:element dbName="changed_by" hidden="1" javaType="java.lang.Long" name="changed by" nullable="1" type="xs:long"/>
<xs:element dbName="fs_id" hidden="1" javaType="java.lang.Integer" name="fs_id" type="xs:integer"/>
<xs:element dbName="released_by" hidden="1" javaType="java.lang.Long" name="released by" nullable="1" type="xs:long"/>
<xs:element dbName="wf_col" hidden="1" javaType="java.awt.Color" name="wf col" nullable="1" type="xs:integer"/>
<xs:element dbName="wf_id" hidden="1" javaType="java.lang.Long" name="wf id" nullable="1" type="xs:long"/>
<xs:element dbName="fs_release_to" name="fs_release_to" type="xs:long" visible="0"/>
<xs:element dbName="fs_valid_from" name="fs_valid_from" type="xs:long" visible="0"/>
<xs:element dbName="fs_valid_to" name="fs_valid_to" type="xs:long" visible="0"/>
</xs:sequence>
</xs:complexType>
<xs:key dbName="pk_ausbildungsregion" name="pk_Ausbildungsregion">
<xs:selector xpath="Ausbildungsregion"/>
<xs:attribute xpath="fs_id"/>
<xs:attribute xpath="fs_release_to"/>
<xs:attribute xpath="fs_valid_from"/>
<xs:attribute xpath="fs_valid_to"/>
</xs:key>
<xs:keyref dbName="fk_stellenangebot_ausbildungsreg" field="stellenangebotList" name="fk_stellenangebot_ausbildungsregion" refer="Ausbildungsregion" tfield="ausbildungsregion">
<xs:selector xpath="Stellenangebot"/>
<xs:attribute xpath="ausb_fs_id"/>
</xs:keyref>
Ich sehe das Problem nicht. Woran kann es liegen, dass ich immer nur null zurückbekomme?
Grüße
Marcus
Tags: database, datenbank, Integration, schema, xml
-
Author: MarcusDau - 2/3/2011 12:19
Nach dem Telefonat mit dem Helpdesk, ist das Problem gefunden. Die Konfiguration in der fsweb.xml.
Dort stand folgendes in einer Zeile drin:
jdbc:mysql://op1000.iv.local:3306/itzehoer_relaunch?useUnicode=true&characterEncoding=UTF8&autoReconnect=true
Die &-Zeichen müssen kodiert werden, damit das klappt! Also:
jdbc:mysql://op1000.iv.local:3306/itzehoer_relaunch?useUnicode=true&characterEncoding=UTF8&autoReconnect=true
0
Vous devez vous connecter pour laisser un commentaire.
Commentaires
1 commentaire