webmagier
Mitglied
Ein Kunde meiner Anwendung gehört zu einer Benutzerrolle. D.h. in der Tabelle customers gibt es einen Foreign Key "role_id" zu einer Tabelle "roles". MySQL habe ich gesagt, dass diese role_id per default 3 ist.
Wenn ich das von Hand über die Commandozeile mache das auch, aber ich kann hibernate nicht davon überzeugen den neuen Kunden zu speichern, solange er keine Rolle hat. Hier erstmal das mapping zu meiner CustomerBean:
Beim speichern des Kunden (ohne Rolle) bekomme ich dann folgende Fehlermeldung:
Could not insert: General error: Column 'role_id' cannot be null
Ich habe in der Mappimg datei schon versucht das not-null Attribut für die Rolle auf true zu setzen, hat aber nix gebracht:
<many-to-one name="role" class="reisebuero.model.RoleBean" column="role_id" not-null="true"/>
Wo ist der Fehler? Lösung?
Mfg Daniel Richter
Wenn ich das von Hand über die Commandozeile mache das auch, aber ich kann hibernate nicht davon überzeugen den neuen Kunden zu speichern, solange er keine Rolle hat. Hier erstmal das mapping zu meiner CustomerBean:
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<!-- reisebuero.model.CustomerBean root -->
<class name="reisebuero.model.CustomerBean" table="customers">
<id name="id" type="int" column="id">
<generator class="native"/>
</id>
<property name="mobile" column="mobile" type="string" />
<property name="fax" column="fax" type="string"/>
<property name="street" column="street" type="string"/>
<property name="country" column="country" type="string"/>
<property name="info" column="info" type="string"/>
<property name="forename" column="forename" type="string"/>
<property name="date" column="date" type="date"/>
<property name="surname" column="surname" type="string"/>
<property name="email" column="email" type="string"/>
<property name="salutation" column="salutation" type="string"/>
<property name="phoneJob" column="phone_job" type="string"/>
<property name="phonePrivate" column="phone_private" type="string"/>
<property name="zip" column="zip" type="string"/>
<property name="userName" column="username" type="string"/>
<property name="location" column="location" type="string"/>
<property name="password" column="password" type="string"/>
<many-to-one name="role" class="reisebuero.model.RoleBean" column="role_id"/>
</class>
</hibernate-mapping>
Beim speichern des Kunden (ohne Rolle) bekomme ich dann folgende Fehlermeldung:
Could not insert: General error: Column 'role_id' cannot be null
Ich habe in der Mappimg datei schon versucht das not-null Attribut für die Rolle auf true zu setzen, hat aber nix gebracht:
<many-to-one name="role" class="reisebuero.model.RoleBean" column="role_id" not-null="true"/>
Wo ist der Fehler? Lösung?
Mfg Daniel Richter
Zuletzt bearbeitet: