anhapu / SDFplay

3 stars 0 forks source link

column "id" specified more than once? #22

Closed ghost closed 10 years ago

ghost commented 10 years ago

Die Tabelle TradeTransaction soll unsere Wunschzettel beinhalten. Aus diesem Grund müssen dieser Relation Bücher zugeordnet werden. Dafür habe ich eine weitere Tabelle namens TradeBooks erstellt, in welcher ich Bücher-IDs zu Wunschzetteln zuordnen möchte.

Die TradeTransaction scheint soweit zu funktionieren. Meine TradeBooks funktioniert leider nicht. Die Fehlermeldung:

[PersistenceException: ERROR executing DML bindLog[] error[ERROR: column "id" specified more than once\n Position: 38]]

Aus diesem Grund habe ich den Primary Key von TradeTransaction in "transId" umbenannt, aber das Problem konnte ich so nicht beheben. Hat jemand eine Idee was das Problem ist?

fabiankirstein commented 10 years ago

Ich habs jetzt nicht ausprobiert. Aber du hast an die Book Property @JoinColumn(name = "id") annotiert. Sogar an zwei Stellen. Hat das ein Grund? Ich würde das weglassen.

ghost commented 10 years ago

Danke Dir. Ich habe beide Annotationen rausgenommen und jetzt läuft es.

fabiankirstein commented 10 years ago

Kein ding! Mir ist noch was aufgefallen: Das sieht auch komisch aus: public List tradeBooks = new ArrayList(); Eigentlich solltest du kein Objekt erstellen.

fabiankirstein commented 10 years ago

und das hier: mappedBy="tradeTransaction" aber deine table hast du tradetransaction mit kleinem t genannt.

ghost commented 10 years ago

mappedBy="tradeTransaction" heißt so, weil in der Klasse TradeBooks die Property, auf die sich das @ManyToOne bezieht, auch so heißt.

fabiankirstein commented 10 years ago

ah. hast recht. sorry. :)

ghost commented 10 years ago

Die Objekterstellung habe ich jetzt auch rausgenommen.