# JPA: Wie mappe ich Nested Sets?



## Tobias (10. Nov 2007)

Hi,

ich habe folgende Klassenstruktur:


```
+-------------------+
| DirectoryTreeItem |
+-------------------+
|    ^
|    |
^    +----------------+
v    |                |
+-----------+      +------+
| Directory |      | File |
+-----------+      +------+
```

also ein einfaches Composite-Pattern. Dazu gehört folgendes Tabellenmodell:


```
lft: unsigned int;
rgt: unsigned int;
name: varchar(50) primary key;
textdata: CLOB;
binarydata: BLOB;
discriminator: String
```

Hier wird die Verzeichnisstruktur als Nested Sets abgebildet. Was mir fehlt ist das JPA-Mapping zwischen der Klassenstruktur und der Tabelle. Das Abbilden des ganzen als SINGLE_TABLE-Inheritance ist ja kein Problem, die Probleme beginnen, wenn ich der Klasse Directory beibringen soll, wie sie ihre Kinder aus der Datenbank lesen kann.

Zu Nested Sets kann man hier noch ein bißchen was nachlesen: http://www.klempert.de/nested_sets/

Ich bin für jede Hilfe dankbar!
Tobias


----------



## Guest (10. Nov 2007)

Du wirst die Kind-Knoten nachträglich lesen müsse, da du keine Fremdschlüssel bzw. keine Assoziation zwischen Directory und File 
definiert hast. Anders ausgedrückt, du kannst JPA nicht dazu bewegen Nested Sets direkt abzubilden. Solche Optimierungen gehen 
etwas über die Möglichkeiten des OR-Mappin hinaus.


----------



## Tobias (10. Nov 2007)

Mh, sowas dachte ich mir schon ...

Danke,
Tobias


----------

