-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Fehler bei many-to-one mapping und composite keys
PostPosted: Wed Oct 15, 2008 12:29 pm 
Newbie

Joined: Wed Oct 15, 2008 11:57 am
Posts: 3
Hibernate version: 2.0.1.4
Database: Oracle 10g

Hi Leute, habe gerade erst mit NHibernat angefangen, und hab so
meine Probleme.

Es funktioniert eigentlich ganz gut, also zumindest Select und Update.

Vielleicht versuche ich da jetzt auch etwas was gar nicht möglich ist,...
... ich bitte euch im hilfe.

Ich habe zwei Tabellen,... Länder und Währungen.
Jedes Land hat seine Währung.

Die PrimaryKeys sind composite key, und da ist glaub ich auch das Problem. Also jede Tabelle hat das Feld KLIENT_ID plus ein weiteres
z.B.: LAND_ID bzw. FKW_ID als PK.

Mapping der Tabelle LAND:
Code:
 
<class name="Country" table="MDLAND" >
   
    <composite-id name="ID" class="Puresoft.WebShop.BusinessObjects.Country+DomainObjectID">
        <key-property type="string" name="ClientId" column="KLIENT_ID" />
        <key-property type="string" name="CountryId" column="LAND_ID" />
    </composite-id>
     
    <property name="IsDefault" column="IS_DEFAULT" type="System.Boolean" not-null="false" />
    <property name="Matchcode" column="MATCHCODE" type="string" not-null="false" />
    <property name="Description" column="BEZEICHNUNG" type="string" not-null="false" />
    <property name="ISEU" column="IS_EU" type="System.Boolean" not-null="false" />
   
    <many-to-one name="Currency" class="Currency">
      <column name="KLIENT_ID"/>
      <column name="FWK_ID"/>
    </many-to-one>
   
</class>



Bei einem Insert wird dann leider die Spalte KLIENT_ID doppelt
verwendet, weil sie im PK und in der many-to-one Relation definiert ist.
Ich bekomme dann den Fehler "Ungültiger Index 7"

Gibt es die Möglichkeit zu sagen: Hinter der Property Currency steht die Spalte FWK_ID die den Type Currency hat und ein FK auf die Tabelle
MDFWK mit den Feldern KLIENT_ID und FWK_ID hat.

Ich hoffe ihr versteht was ich meine.

danke

Anbei noch die Fehlermeldung:

SqlString: INSERT INTO MBAB4.MDLAND (IS_DEFAULT, MATCHCODE, BEZEICHNUNG, IS_EU, FWK_ID, KLIENT_ID, LAND_ID) VALUES (?, ?, ?, ?, ?, ?, ?)

(:0) - binding 'False' to parameter: 0
(:0) - binding 'DE-4711' to parameter: 1
(:0) - binding 'Deutschland' to parameter: 2
(:0) - binding 'False' to parameter: 3
(:0) - binding '1' to parameter: 4 => KLIENT_ID
(:0) - binding 'EUR' to parameter: 5
(:0) - binding '1' to parameter: 6 => KLIENT_ID
(:0) - binding 'DE to parameter: 7

System.IndexOutOfRangeException: Ungültiger Index 7 für OracleParameterCollection mit Count=7.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.