Hallo zuzammen,
ich habe eine Tabelle "Activity", in der ich alle Aktivitäten speichere.
Nun ist das Problem aber, dass ich 80 FOREIGN_KEY zu allen Entities habe.
Ich habe z.B. die Entity:
- Reifen
- Speiche
- Sattel
-...
All diese Entities haben ebenfall in der Tabelle Activity einen Fremdschlüssel.
Nun ist aber mein Problem, dass mit JPA / Hibernate für jeden FK einen Index generiert und ich hier schon Mal eine Fehlermeldung bekomme.
Da ich nicht immer alle Entities holen möchte, habe ich den FK jeweils so deklariert:
@ManyToOne(optional = true, fetch = FetchType.LAZY)
Habe ich nun aber eine Query, in welcher in alles mit "LEFT JOIN FETCH" hole, bekomme ich eine Fehlermeldung, dass ich zu viele Columns habe.
Meine Frage:
Ist die Idee überhaupt gut, dass ich so viele FK´s habe?
Wie könnte man es anders lösen?
Ich habe eine Tabelle, in der alle Aktivitäten aufgelistet werden.
Demnach brauche hier alle FK´s auch...
Danke für jede Hilfe
ich habe eine Tabelle "Activity", in der ich alle Aktivitäten speichere.
Nun ist das Problem aber, dass ich 80 FOREIGN_KEY zu allen Entities habe.
Ich habe z.B. die Entity:
- Reifen
- Speiche
- Sattel
-...
All diese Entities haben ebenfall in der Tabelle Activity einen Fremdschlüssel.
Nun ist aber mein Problem, dass mit JPA / Hibernate für jeden FK einen Index generiert und ich hier schon Mal eine Fehlermeldung bekomme.
21:30:47,298 INFO [stdout] (EJB default - 6) Hibernate:
21:30:47,298 INFO [stdout] (EJB default - 6)
21:30:47,298 INFO [stdout] (EJB default - 6) alter table activities
21:30:47,298 INFO [stdout] (EJB default - 6) add constraint FKs9qx51p69n9f7dbrmxwutfg8w
21:30:47,298 INFO [stdout] (EJB default - 6) foreign key (offer_fk)
21:30:47,298 INFO [stdout] (EJB default - 6) references offer (offer_id)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Too many keys specified; max 64 keys allowed
Da ich nicht immer alle Entities holen möchte, habe ich den FK jeweils so deklariert:
@ManyToOne(optional = true, fetch = FetchType.LAZY)
Habe ich nun aber eine Query, in welcher in alles mit "LEFT JOIN FETCH" hole, bekomme ich eine Fehlermeldung, dass ich zu viele Columns habe.
Meine Frage:
Ist die Idee überhaupt gut, dass ich so viele FK´s habe?
Wie könnte man es anders lösen?
Ich habe eine Tabelle, in der alle Aktivitäten aufgelistet werden.
Demnach brauche hier alle FK´s auch...
Danke für jede Hilfe