[FEATURE] Implemented DoctrineJoinDescriptors

Implemented `DoctrineJoinDescriptors`, to make it possible to decide on some options like left or inner joins, and add conditions to the joins.

__Tasks:__

- [ ] test coverage
- [x] gather feedback for my changes
- [ ] submit changes to the documentation

__Informations:__

| Q             | A
| ------------- | ---
| Tests pass?   | yes
| Fixed tickets | parts of #129 
| Doc           | none