Hallo,
ich möchte bestehende Entities erweitern mit "Tags".
Beispiel:
Entity Kunde:
- Nun sollen verschiedene Tags hinzugefügt werden: "blaue Augen", "redet gerne".......
Das ganze soll in einer Liste einfach zu filtern sein, ohne dass ich einige Joins ausführen muss.
Am einfachsten stelle ich es mir, wenn ich einfach diese in einem String ablege:
String tags ="blaue Augen, redet gerne"
Zudem erstelle ich eine Entity "Tags".
- ID
- uniqueName
- Name
Nun könnte ich eine Mapping Tabelle erstellen "TagsObject".
- ID
- CustomerFK (Referenz auf Customer - Tabelle)
- TagsFK (Referenz auf Tag - Tabelle)
Aber dann müsste ich jedes Mal den JOIN ausführen, wenn ich in einer simplen Tabelle die Tags laden möchte.
Meine Idee ist nun:
- Ich schreibe in die Kundentabelle die Tags als String mit dem UniqueName.
-> Sobald man ein Tag hinzugefügt, wird dieser in der Tag - Tabelle erstellt und erhält einen eindeutigen Namen
- User kann aus einer Tag Liste den entsprechenden Tag auswählen
- In der Kunden - Tabelle wird in der String Liste dann der UniqueName nur gespeichert
Möchte man in einer simplen Kundenliste nun nach Tags suchen:
- Öffnen einer Drop Down Liste mit den Tags, die sich in der Tag - Tabelle befinden
- Tag - Objekt wird genommen und dann in der Kunden - Tabelle in dem entsprechenden String gesucht, ob der UniqueName enthalten ist.
-> Hier weiß ich jedoch noch nicht so ganz wie ich dann suchen soll:
WHERE customer.tags LIKE ´%blaue_augen%´
Problem: gibt es ein anderes Tag mit "blaue_augen_test", wird dieser ja auch ausgeliefert aus der String Liste.
Andere Option, dass ich einen internen prefix und suffix vor dem uniqueName noch mache: "myapp_blaue_augen_test".
Hat jemand Ideen?
ich möchte bestehende Entities erweitern mit "Tags".
Beispiel:
Entity Kunde:
- Nun sollen verschiedene Tags hinzugefügt werden: "blaue Augen", "redet gerne".......
Das ganze soll in einer Liste einfach zu filtern sein, ohne dass ich einige Joins ausführen muss.
Am einfachsten stelle ich es mir, wenn ich einfach diese in einem String ablege:
String tags ="blaue Augen, redet gerne"
Zudem erstelle ich eine Entity "Tags".
- ID
- uniqueName
- Name
Nun könnte ich eine Mapping Tabelle erstellen "TagsObject".
- ID
- CustomerFK (Referenz auf Customer - Tabelle)
- TagsFK (Referenz auf Tag - Tabelle)
Aber dann müsste ich jedes Mal den JOIN ausführen, wenn ich in einer simplen Tabelle die Tags laden möchte.
Meine Idee ist nun:
- Ich schreibe in die Kundentabelle die Tags als String mit dem UniqueName.
-> Sobald man ein Tag hinzugefügt, wird dieser in der Tag - Tabelle erstellt und erhält einen eindeutigen Namen
- User kann aus einer Tag Liste den entsprechenden Tag auswählen
- In der Kunden - Tabelle wird in der String Liste dann der UniqueName nur gespeichert
Möchte man in einer simplen Kundenliste nun nach Tags suchen:
- Öffnen einer Drop Down Liste mit den Tags, die sich in der Tag - Tabelle befinden
- Tag - Objekt wird genommen und dann in der Kunden - Tabelle in dem entsprechenden String gesucht, ob der UniqueName enthalten ist.
-> Hier weiß ich jedoch noch nicht so ganz wie ich dann suchen soll:
WHERE customer.tags LIKE ´%blaue_augen%´
Problem: gibt es ein anderes Tag mit "blaue_augen_test", wird dieser ja auch ausgeliefert aus der String Liste.
Andere Option, dass ich einen internen prefix und suffix vor dem uniqueName noch mache: "myapp_blaue_augen_test".
Hat jemand Ideen?