Hibernate - foreign key wird beim speichern nicht angelegt

cham

Erfahrenes Mitglied
Hallo,

ich habe gerade mal ein paar Tests mit Hibernate gemacht und folgendes Problem. Wenn ich bei einer one to many Verbindung ein Objekt hinzufüge und dann speichere wird zwar das Basisobjekt in die DB geschrieben aber bei der many Seite fehlt der Foreign Key und die DB schmiert dementsprechend ab(not null).

Wenn ich in dem Manyobjekt dann das One Objekt hinzufüge mit set wird es ordentlich angelegt. Ist das so korrekt oder kann ich das konfigurieren dass neue Objekt automatisch den Foreign Key zugewiesen bekommen.

Hier noch mein Mapping der beiden Klassen:

Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
	<class name="dartscore.hibernate.beans.Game" table="GAME">
		<id name="uuid" type="string" unsaved-value="null">
			<column name="UUID" sql-type="char(32)" not-null="true"/>
			<generator class="uuid.hex"/>
		</id>
		<property name="date"/>
		<many-to-one name="team" cascade="all" column="teamid" class="dartscore.hibernate.beans.Team" inverse="true"/>
	</class>
</hibernate-mapping>

<!-- ****************************-->

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
	<class name="dartscore.hibernate.beans.Team" table="TEAM">
		<id name="uuid" type="string" unsaved-value="null">
			<column name="UUID" sql-type="char(32)" not-null="true"/>
			<generator class="uuid.hex"/>
		</id>
		<property name="name" column="Name"/>
		<property name="description" column="Description"/>
		<property name="lastModified" column="Last_Modified"/>
		<bag name="games" cascade="all" lazy="true" inverse="true">
		    <key column="teamid"/>
		    <one-to-many class="dartscore.hibernate.beans.Game"/>
		</bag>
	</class>
</hibernate-mapping>

Danke für Eure Hilfe

cham
 
Zurück